int main(){

	char input[100],output[100];
	int i,j,k,l,rowA,colA,rowB,colB,rowC,colC,startRow,startCol;
	double **matrixA,**matrixB,**matrixC;

	printf();
	fscanf(stdin,,input);

	printf();
	fscanf(stdin,,output);

	FILE* inputFile = fopen(input,);

	fscanf(inputFile,,&rowA,&colA);

	matrixA = (double**)malloc(rowA * sizeof(double*));

	for(i=0;i<rowA;i++){
		matrixA[i] = (double*)malloc(colA*sizeof(double));
		for(j=0;j<colA;j++){
			fscanf(inputFile,,&matrixA[i][j]);
		}
	}

	fscanf(inputFile,,&rowB,&colB);

	matrixB = (double**)malloc(rowB * sizeof(double*));

	for(i=0;i<rowB;i++){
		matrixB[i] = (double*)malloc(colB*sizeof(double));
		for(j=0;j<colB;j++){
			fscanf(inputFile,,&matrixB[i][j]);
		}
	}

	fclose(inputFile);

	rowC = rowA*rowB;
	colC = colA*colB;

	matrixC = (double**)malloc(rowC*sizeof(double*));

	for(i=0;i<rowA*rowB;i++){
		matrixC[i] = (double*)malloc(colA*colB*sizeof(double));
	}

	for(i=0;i<rowA;i++){
		for(j=0;j<colA;j++){
			startRow = i*rowB;
			startCol = j*colB;
			for(k=0;k<rowB;k++){
				for(l=0;l<colB;l++){
					matrixC[startRow+k][startCol+l] = matrixA[i][j]*matrixB[k][l];
				}
			}
		}
	}

	FILE* outputFile = fopen(output,);

	for(i=0;i<rowC;i++){
		for(j=0;j<colC;j++){
			fprintf(outputFile,,matrixC[i][j]);
		}
		fprintf(outputFile,);
	}

	fclose(outputFile);

	printf(,output);
}