#include <bits/stdc++.h>
using namespace std;
char in[100], out[100];
int A[110][110], B[110], C[110][110], D[110], E[110];
string S[110],SS[110];
char c;
int main(){
	int i, j, n, m, M=-100, l;
	for(int I=1;I<=20;I++){
		for(i=0;i<110;i++)D[i]=E[i]=0;
		sprintf(in,".%d.in",I);
	    freopen(in,"w",stdout);
		M = 0;
		n = rand()%8+3;
		m = rand()%8+3;
		printf(",");
		for(i=1;i<=m;i++){
			l = rand()%10+1;
			c = 'A'+rand()%26;
			S[i] = c;
			for(j=1;j<l;j++){
				c = 'A'+rand()%26;
				S[i] = S[i]+c;
			} 
			cout << S[i];
			if(i!=m-1)printf(",");
			else printf("\n");
		}
		for(i=1;i<=n;i++){
			c = 'A'+rand()%26;
			SS[i] = c;
			for(j=1;j<l;j++){
				c = 'A'+rand()%26;
				SS[i] = SS[i]+c;
			} 
			cout << SS[i]<<',';
			for(j=1;j<=m;j++){
				A[i][j]=rand()%106;
				if(A[i][j]<5){
					M++;
					C[i][j]=I;
				} 
				else{
					printf("%d",A[i][j]-5);
					D[j]++;
					E[j]=E[j]+A[i][j]-5;
				} 
				if(j!=m)printf(",");
				else printf("\n");
			}
		}
		sprintf(out,".%d.out",I);
	    freopen(out,"w",stdout);
	    printf(",");
	    for(j=1;j<=m;j++){
	    	cout <<S[j];
	    	if(j!=m)printf(",");
			else printf("\n");
		} 
	    for(i=1;i<=n;i++){
	    	cout << SS[i]<<',';
			for(j=1;j<=m;j++){
				if(C[i][j]==I) printf("%d",E[j]/D[j]);	
				else printf("%d",A[i][j]-5);
				if(j!=m)printf(",");
				else printf("\n");
			}
		}
	}
	
}
