#include<bits/stdc++.h>
using namespace std;
char infile[100], outfile[100];

int ans, A[15], B[15], k, C[15];
void f(int n){
   int C[4]={0,0,0,0},a,b;
   if(n==10){
      for(int i=1;i<10;i++) C[i%3]+=B[i];
      a = max(C[0],max(C[1],C[2]));
      b = min(C[0],min(C[1],C[2]));
      if(a-b<=k){
         ans++;
      }
   }else if(B[n]==0){
      for(int i=1;i<10;i++){
         if(A[i]==0){
            B[n]=i;
            A[i]=1;
            f(n+1);
            A[i]=0;
            B[n]=0;
         }
      }
   }else{
      f(n+1);
   }
   return;
}
int main(){
    int i, c;
    srand(time(NULL));
    for(int I=86;I<=100;){
   		sprintf(infile, ".%d.in", I);
		freopen(infile, "w", stdout);
	   	k = rand()%20;
	   	printf("%d\n",k);
	   	for(i=0;i<10;i++) A[i]=B[i]=C[i]=0;
	   	c = 0;
	   	for(i=1;i<10;i++){
	   		B[i]= rand()%10;
	      	while(A[B[i]]){
	      		B[i]=rand()%10;
			}
	      	if(B[i]>0) A[B[i]]=1;
	      	else c++;
	      	printf("%d ",B[i]);
	    	if(i%3==0) printf("\n");
		}
		ans = 0;
	    f(1);
		sprintf(outfile, ".%d.out", I);
	    freopen(outfile, "w", stdout);
		printf("%d",ans);
		if(c>5) I++;
	
	}
}
