semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main()
{
	int x1,y1,x2,y2;
	int a[101][101],b[101][101],c[101][101]={0};
	int i,j,k;

	cin>>x1>>y1;
	for(i=1;i<=x1;i++)
	{
		for(j=1;j<=y1;j++)
		{
			cin>>a[i][j];
		}
	}
	cin>>x2>>y2;
	for(i=1;i<=x2;i++)
	{
		for(j=1;j<=y2;j++)
		{
			cin>>b[i][j];
		}
	}
	//	cin>>x1>>y1;
	for(i=1;i<=x1;i++)
	{
		for(j=1;j<=y2;j++)
		{
			for(k=1;k<=x2;k++)
			{
				c[i][j]+=a[i][k]*b[k][j];
			}
		}
	}
	//	cin>>x1>>y1;
	for(i=1;i<=x1;i++)
	{
		for(j=1;j<=y2;j++)
		{
			cout<<c[i][j];
			if(j!=y2)
				cout<<" ";
		}
		cout<<endl;
	}
	//cin>>x1;
	return 0;
}
int main()
{
    int x1, y1, x2, y2, a[100][100], b[100][100], c[100][100];
    int i, j, k;
    cin >> x1 >> y1;
    for (i = 0; i < x1; i++)
        for (j = 0; j < y1; j++)
        {
            cin >> a[i][j];
        }
    cin >> x2 >> y2;
    for (i = 0; i < x2; i++)
        for (j = 0; j < y2; j++)
        {
            cin >> b[i][j];
        }
    for (i = 0; i < x1; i++)
        for (j = 0; j < y2; j++)
        {
            for (k = 0; k < y1; k++)
            {
                c[i][j] += a[i][k] * b[k][j];
            }
        }
    for (i = 0; i < x1; i++)
        for (j = 0; j < y2; j++)
        {
            if (j < y2 - 1)
                cout << c[i][j] << " ";
            else
                cout << c[i][j] << endl;
        }
    return 0;
}
main()
{
      int x1,x2,y1,y2,i,j,k,l;
      scanf("%d %d",&x1,&y1);
      int *a=(int*)malloc((x1*y1)*sizeof(int));
      for(i=0;i<x1;i++)
      {
                       for(j=0;j<y1;j++)
                       scanf("%d",&a[i*y1+j]);
      }
      scanf("%d %d",&x2,&y2);
      int *b=(int*)malloc((x2*y2)*sizeof(int));
      for(k=0;k<x2;k++)
      {
                       for(l=0;l<y2;l++)
                       scanf("%d",&b[k*y2+l]);
      }
      int *c=(int*)malloc((x1*y2)*sizeof(int));
      
      
      for(i=0;i<x1;i++)
      {
                       for(j=0;j<=y2;j++)
                       {
                       c[i*y2+j]=0;
                       for(k=0;k<y1;k++)
                       c[i*y2+j]=c[i*y2+j]+a[i*y1+k]*b[k*y2+j];
                       }
      }             
      for(i=0;i<x1;i++)
      {
                       for(j=0;j<y2-1;j++)
                       {
                                        printf("%d ",c[i*y2+j]);
                       }
                       printf("%d",c[i*y2+j]);
                       printf("\n");
      }
      
}
/*
name:????
writer:???
time:2013.11.1
*/
int main()
{
	int a[101][101] , b[101][101] , x1 , y1 , x2 , y2 , c[101][101] , i , j , k ;
	cin >> x1 >> y1 ;
	for ( i = 1 ; i <= x1 ; i++ )
	    for ( j = 1 ; j <= y1 ; j++ )
			cin >> a[i][j] ;                     //??????a
	cin >> x2 >> y2 ;
	for ( i = 1 ; i <= x2 ; i++ )
	    for ( j = 1 ; j <= y2 ; j++ )
			cin >> b[i][j] ;                     //??????b
	for ( i = 1 ; i <= x1 ; i++ )
	{
	    for ( j = 1 ; j <= y2 ; j++ )
		{
			c[i][j] = 0 ;                        //???
			for ( k = 1 ; k <= y1 ; k++ )
				c[i][j] += a[i][k] * b[k][j] ;   //??
			cout << c[i][j] ;                    //??
			if ( j == y2 )                       //??????????
				cout << endl ;
			else 
				cout << " " ;
		}
	}
	return 0;
}
int main ()
{
    int a[100][100]; 
    int b[100][100]; 
    int c[100][100]; 
    int x1,y1,x2,y2;
    int i=0,k=0,d=0,e=0,f=0,g,j,h,l;  
    scanf ("%d %d",&x1,&y1);
    for (i=0;i<x1;i++)
    { for (k=0;k<y1;k++)
      scanf ("%d",&a[i][k]);
        } 
    scanf ("%d %d",&x2,&y2);
    for (j=0;j<x2;j++)
    {  for ( l=0;l<y2;l++)
      scanf ("%d",&b[j][l]);
        } 
    for (d=0;d<x1;d++)
    {   for (e=0;e<y2;e++)
         {    for (f=0;f<x2;f++)
               { c[d][e]=c[d][e]+a[d][f]*b[f][e];  } 
                 } 
            } 
    for ( g=0;g<x1;g++) 
    { 
    printf ("%d",c[g][0]); 
        for ( h=1;h<y2;h++)
    { 
         
     printf (" %d",c[g][h]);
     }
     printf ("\n"); } 
    }
int main()
{
 int i,j,k;
 int x,y;
 cin>>x>>y;
 int a[100][100];
 for(i=0;i<x;i++)
  {for(j=0;j<y;j++)
   cin>>a[i][j];}
 int z,h;
 cin>>z>>h;
 int b[100][100];
 for(i=0;i<z;i++)
    {for(j=0;j<h;j++)
     cin>>b[i][j];}
 int m=x,n=h;
 int c[m][n];
  for(j=0;j<n;j++)
      {for(i=0;i<m;i++)
       {c[i][j]=0;
        for(k=0;k<y;k++)
        c[i][j]+=a[i][k]*b[k][j];}}
for(i=0;i<m;i++)
   {for(j=0;j<n-1;j++)
    {cout<<c[i][j]<<" ";}
    cout<<c[i][n-1];
    cout<<endl;}
return 0;
}
int main()
{
	int a[100][100],b[100][100],c[100][100];
	int x1,y1,x2,y2;
	int i,j,k;
	cin>>x1>>y1;
	for(i=0;i<x1;i++)
		for(j=0;j<y1;j++)
			cin>>a[i][j];
	cin>>x2>>y2;
	for(i=0;i<x2;i++)
		for(j=0;j<y2;j++)
			cin>>b[i][j];
	for(i=0;i<x1;i++)
		for(j=0;j<y2;j++)
		{
			c[i][j]=0;
			for(k=0;k<y1;k++)
				c[i][j]+=a[i][k]*b[k][j];
		}
    for(i=0;i<x1;i++)
	{
		for(j=0;j<y2-1;j++)
		{
			cout<<c[i][j]<<" ";
		}
		cout<<c[i][y2-1];
		cout<<endl;
	}
	return 0;
}
int main()
{
   int i,j,k,num=0,x1,x2,y1,y2,a[100][100],b[100][100],c[100][100];  //i,j,k?????num??????????x1,x2,y1,y2???????????a,b??????????????c??????????
   cin>>x1>>y1;    //???????
   for(i=0;i<x1;i++)
      {
         for(j=0;j<y1;j++)
            {
               cin>>a[i][j];
             }
       }
   cin>>x2>>y2;  //???????
   for(i=0;i<x2;i++)
      {
         for(j=0;j<y2;j++)
            {
                cin>>b[i][j];
             }

       }
    for(i=0;i<x1;i++)
      {
           for(j=0;j<y2;j++)
              {
                  c[i][j]=0;     //???????????
                  num++;         //??c[i][j]????
                  for(k=0;k<y1;k++)
                     {
                         c[i][j]=c[i][j]+a[i][k]*b[k][j];
                      }
                  if(num%y2!=0) cout<<c[i][j]<<' '; //?????????????
                  else cout<<c[i][j]<<endl; //???????????????????
                    
               }
       }
    return 0;
}
main()
{
	int i,j,k,x1,y1,x2,y2;
	int **p1,**p2,**p3;
	
	
	scanf("%d%d",&x1,&y1);
	p1=(int**)malloc(x1*sizeof(int*));
	for(i=0;i<x1;i++)
	{
		p1[i]=(int*)malloc(y1*sizeof(int));
	}	
	for(i=0;i<x1;i++)
	{
		for(j=0;j<y1;j++)
		scanf("%d",&p1[i][j]);
	}
	
	
	
	scanf("%d%d",&x2,&y2);
	p2=(int**)malloc(x2*sizeof(int*));
	for(i=0;i<x2;i++)
	{
		p2[i]=(int*)malloc(y2*sizeof(int));
	}
	
	for(i=0;i<x2;i++)
	{
		for(j=0;j<y2;j++)
		scanf("%d",&p2[i][j]);
	}
	
	
	
	
	p3=(int**)malloc(x1*sizeof(int*));
	for(i=0;i<x1;i++)
	{
		p3[i]=(int*)malloc(y2*sizeof(int));
	}
	
	
	for(i=0;i<x1;i++)
	{
		for(j=0;j<y2;j++)
		p3[i][j]=0;
	}
	
	
	
	for(i=0;i<x1;i++)
	{
		for(j=0;j<y2;j++)
		{
			for(k=0;k<x2;k++)
			p3[i][j]+=p1[i][k]*p2[k][j];
		}
	}
	
	
	
	for(i=0;i<x1;i++)
	{
		printf("%d",p3[i][0]);
		for(j=1;j<y2;j++)
		{
			printf(" %d",p3[i][j]);
		}
		printf("\n");
	}
	
	
}
main ()
{int x1,x2,y1,y2;
int i,j,k;
scanf("%d %d",&x1,&y1);
int a[x1][y1];
for(i=0;i<x1;i++)
{
for(j=0;j<y1;j++)
scanf("%d",&a[i][j]);
}
scanf("%d %d",&x2,&y2);
int b[x2][y2];
for(i=0;i<x2;i++)
{
for(j=0;j<y2;j++)
scanf("%d",&b[i][j]);
}
int c[x1][y2];
for(i=0;i<x1;i++)
{
for(j=0;j<y2;j++)
{c[i][j]=0;
for(k=0;k<y1;k++)
{c[i][j]=c[i][j]+(a[i][k])*(b[k][j]);
//printf("%d %d %d\n",i,j,c[i][j]);
}
}
}
for(i=0;i<x1;i++)
{
for(j=0;j<y2;j++)
{printf("%d",c[i][j]);
if((y2-1)!=j)
printf(" ");
else
printf("\n");}
}

}
//*****************************************
//* ??????? **
//* ?????? 1300012741 **
//* ???2013.10.30 **
//*****************************************


int main()
{
	int matrix_A[100][100] = { { 0 }, { 0 } }; // ????A
	int matrix_B[100][100] = { { 0 }, { 0 } }; // ????B
	int row_A, col_A, row_B, col_B; // ????AB????
	int i, j, k; // ??????
	int temp; // ????????
	
	cin >> row_A >> col_A; // ????
	for ( i = 0; i < row_A; i++ )
		for ( j = 0; j < col_A; j++ )
			cin >> matrix_A[i][j];

	cin >> row_B >> col_B;
	for ( i = 0; i < row_B; i++ )
		for ( j = 0; j < col_B; j++ )
			cin >> matrix_B[i][j];

	for ( i = 0; i < row_A; i++ ) // ?????A?????
		for ( j = 0; j < col_B; j++ ) // ?????B?????
		{
			temp = 0; // ?????????
			for ( k = 0; k < col_A; k++ ) // ????????i,j?
				temp += matrix_A[i][k] * matrix_B[k][j];
			cout << temp ;
			if ( j == col_B - 1 ) // ???????
				cout << endl;
			else
				cout << " ";
		}

	return 0;
}
int main()
{
	int T, N, M, NN, MM;
	int A[113][113],B[113][113],C[113][113];
	cin >> N >> M;
	for (int I = 1; I <= N; I ++)
		for (int J = 1; J <= M; J ++) cin >> A[I][J];
	cin >> NN >> MM;
	for (int I = 1; I <= NN; I ++)
		for (int J = 1; J <= MM; J ++) cin >> B[I][J];
	for (int I = 1; I <= N; I ++)
		for (int J = 1; J <= MM; J++)
			for (int K = 1; K <= M; K ++) C[I][J] += A[I][K] * B[K][J];
	for (int I = 1; I <= N; I ++)
	{
		for (int J = 1; J < MM; J++) printf("%d ",C[I][J]);
		cout << C[I][MM] << endl;
	}		
	return 0;
}
int main()
{
	int a[100][100],b[100][100],c[100][100]={0},n,m,q,i,j,z;
	scanf("%d%d\n",&m,&q);
	for(i=0;i<m;i++)
		for(j=0;j<q;j++)
			scanf("%d",&a[i][j]);
	scanf("%d%d\n",&q,&n);
	for(i=0;i<q;i++)
		for(j=0;j<n;j++)
			scanf("%d",&b[i][j]);
	for(i=0;i<m;i++)
		for(j=0;j<n;j++)
		{
			for(z=0;z<q;z++)
				c[i][j]+=(a[i][z]*b[z][j]);
			printf(j==n-1?"%d\n":"%d ",c[i][j]);
		}
	return 0;
}
int main()
{
	int a[100][100] = {0}, b[100][100] = {0}, c[100][100] = {0};
	int I = 0, J = 0, P = 0, Q = 0;
	cin>>I>>J;
	for(int i = 0; i < I; i++)
		for(int j = 0; j < J; j++)
			cin >> a[i][j];
	cin >> P >> Q;
	for(int i = 0; i < P; i++)
		for(int j = 0; j < Q; j++)
			cin >> b[i][j];
	for(int i = 0; i < I; i++)
		for(int j = 0; j < Q; j++)
			for( int q = 0; q < J; q++)
				c[i][j] += a[i][q] * b[q][j];
	for(int i = 0; i < I; i++)
		for(int q = 0; q < Q; q++)
			{
				if(q < Q - 1)
					cout << c[i][q] <<" ";
				if(q == Q - 1)
					cout << c[i][q] << endl;
		}
		return 0;
}
int main()
{
    int i, j, k, x1, x2, y1, y2;//????
	int a[100][100] = { 0 };   //??
	int b[100][100] = { 0 };
	int c[100][100] = { 0 };
	cin>> x1 >> y1;       //???????
	for(i=0; i<x1; i++)
		for(j=0; j<y1; j++)
			cin>>a[i][j];
    cin>> x2 >> y2;    //???????
	for(i=0; i<x2; i++)
		for(j=0; j<y2; j++)
			cin>> b[i][j];
    for(i=0; i<x1; i++)    //????????
		for(j=0; j<y2; j++)
			for(k=0; k<y1; k++)
				c[i][j] =  c[i][j]+a[i][k]*b[k][j];
    for(i=0; i<x1; i++)     //????
		for(j=0; j<y2; j++)
		{
			cout<<c[i][j];
			if(j!=y2-1)
				cout<<' ';
			else
				cout<<endl;
		}
    return 0;
}
int main()
{
	int x1=0,y1=0;
	scanf("%d %d",&x1,&y1);
	if(x1==0)
	   ;
	else
	{
	int a[101][101]={0}; 
	int b[101][101]={0};
	int c[101][101]={0};
	for(int i=0;i<x1;i++)
	    {
		for(int j=0;j<y1;j++)
		    scanf("%d",&a[i][j]);	
		}
	int x2=0,y2=0;
	scanf("%d %d",&x2,&y2);
	      for(int i=0;i<x2;i++)
	         {
		    for(int j=0;j<y2;j++)
		    scanf("%d",&b[i][j]);	
		     }
	for(int i=0;i<x1;i++)
	    {
		for(int j=0;j<y2;j++)
		    {
			for(int k=0;k<x2;k++)
			    c[i][j]+=a[i][k]*b[k][j];	
			} 
		}
	for(int i=0;i<x1;i++)
	    {
		printf("%d",c[i][0]);
		for(int j=1;j<y2;j++)
            printf(" %d",c[i][j]);
        printf("\n");
		} 
    }
}
int main()
{
	int A[100][100];
	int B[100][100];
	int C[100][100];
	int i,j,a,b,d,q;
	scanf("%d",&a);
	scanf("%d",&b);
	for(i=0;i<a;i++){
		for(j=0;j<b;j++){
			scanf("%d",&A[i][j]);
		}
	}
	scanf("%d",&b);
	scanf("%d",&d);
	for(i=0;i<b;i++){
		for(j=0;j<d;j++){
			scanf("%d",&B[i][j]);
		}
	}
	for(i=0;i<a;i++){
		for(j=0;j<d;j++){
			for(q=0;q<b;q++){
				C[i][j]+=A[i][q]*B[q][j];
			}
		}
	}
	for(i=0;i<a;i++){
		for(j=0;j<d;j++){
			if(j<d-1)printf("%d ",C[i][j]);
			if(j==d-1)printf("%d\n",C[i][j]);
		}
	}
	return 0;
}
int main()
{
  int i,j,x,x1,y1,x2,y2,r,k=0,p=0,a[100][100],b[100][100],c[100][100];
  cin>>x1>>y1;
  for (i=0;i<=x1-1;i++)
  {
	  for (j=0;j<=y1-1;j++)
      cin>>a[i][j];
  }
  /*
  for (i=0;i<=x1-1;i++)
  {
	  for(j=0;j<=y1-1;j++)
	  	cout<<a[i][j]<<" ";
	  cout<<endl;
  }
  */
  cin>>x2>>y2;
  for (i=0;i<=x2-1;i++)
  {
	  for(j=0;j<=y2-1;j++)
	  {cin>>x;
	  b[i][j]=x;}
  }
  /*
  for (i=0;i<=x2-1;i++)
  {
	  for(j=0;j<=y2-1;j++)
	  	cout<<b[i][j]<<" ";
	  cout<<endl;
  }
  */
  for (i=0;i<=x1-1;i++)
  {
	  	for(j=0;j<=y2-1;j++){
			k=0;
			for (r=0;r<=y1-1;r++){
	 	 		k=k+a[i][r]*b[r][j];
			}
	 	 	c[i][j]=k;
		}
	 
  }
  /*
  for (i=0;i<=x1-1;i++)
  {
	  for(j=0;j<=y2-1;j++)
	  	cout<<c[i][j]<<" ";
	  cout<<endl;
  }
  */
  for(i=0;i<=x1-1;i++)
  {
	  for(j=0;j<=y2-2;j++){
			cout<<c[i][j]<<" ";	
		}
		cout<<c[i][j]<<endl;
	  /*{if (p==0) {cout<<c[i][j];
		  p=1;}
	  else cout<<" "<<c[i][j];}
	  */
	  

  }
  cin>>i;
 return 0;
}
int main()
{
int x1,y1,x2,y2;int a[101][101],b[101][101],c[101][101];
int i,j,p,q,circ;
scanf("%d %d",&x1,&y1);
for(i=0;i<x1;i++){
for(j=0;j<y1;j++){
scanf("%d",&(a[i][j]));
}
}
scanf("%d %d",&x2,&y2);
for(p=0;p<x2;p++){
for(q=0;q<y2;q++){
scanf("%d",&(b[p][q]));
}
}
for(i=0;i<x1;i++){
for(q=0;q<y2;q++){
for(circ=0;circ<y1;circ++){
c[i][q]+=a[i][circ]*b[circ][q];
}
printf("%d",c[i][q]);
if(q<y2-1){
printf(" ");
}
else{
printf("\n");
}
}
}
return 0;
}
int main()
{
	int a[100][100],b[100][100],c[100][100];
	memset(c,0,sizeof(c));
	int x1,x2,y1,y2;
	int i,j,k;
	scanf("%d %d",&x1,&y1);
	for(i=0;i<x1;i++)
		{for(j=0;j<y1;j++)
			scanf("%d",&a[i][j]);}
	scanf("%d %d",&x2,&y2);
	for(i=0;i<x2;i++)
		{for(j=0;j<y2;j++)
			scanf("%d",&b[i][j]);}
	for(i=0;i<x1;i++)
	{
      for(j=0;j<y2;j++)
	  {
		 for(k=0;k<x2;k++)
			{ 
				c[i][j]=c[i][j]+a[i][k]*b[k][j];
		    }
		 if(j==y2-1)
		 printf("%d\n",c[i][j]);
		 else 
	     printf("%d ",c[i][j]);
	  }
	}
}
int main()
{
	int x1,y1,x2,y2,a[100][100],b[100][100],c[100][100];
	cin>>x1>>y1;
	for(int i=0;i<x1;i++)
	{
		for(int j=0;j<y1;j++)
		{
			cin>>a[i][j];
		}
	}
	cin>>x2>>y2;
	for(int i=0;i<x2;i++)
	{
		for(int j=0;j<y2;j++)
		{
			cin>>b[i][j];
		}
	}
	for(int i=0;i<x1;i++)
	{
		for(int j=0;j<y2;j++)
		{
			c[i][j]=0;
			for(int k=0;k<y1;k++)
			{
				c[i][j]=a[i][k]*b[k][j]+c[i][j];
			}
		}
	}
	for(int i=0;i<x1;i++)
	{
		for(int j=0;j<y2-1;j++)
		{
			cout<<c[i][j]<<" ";
		}
		cout<<c[i][y2-1]<<endl;
	}
	return 0;
}
int main()
{
    int x,y,m,n,i,j,k,a[102][102],b[102][102],c[102][102]={0};
    scanf("%d%d",&x,&y);
    for(i=0;i<x;i++)
         {
             for(j=0;j<y;j++)
                 {
                     scanf("%d",&a[i][j]);
                 }
         }
      scanf("%d%d",&m,&n);
       for(i=0;i<m;i++)
         {
             for(j=0;j<n;j++)
                 {
                     scanf("%d",&b[i][j]);
                 }
         }
        for(i=0;i<x;i++)
              {
                  for(k=0;k<n-1;k++)
                      {
                       for(j=0;j<y;j++)
                           {
                               c[i][k]+=a[i][j]*b[j][k];
                           } 
                           printf("%d ",c[i][k]);
                        }
                      for(j=0;j<y;j++) 
                       {
                        c[i][n-1]+=a[i][j]*b[j][n-1];
                        }    
                      printf("%d\n",c[i][n-1]); 
              }
                      
}
int main()
{
    int i, r, p, q;                     
    int n, m, k;                    //A???n?m??B???m?k? 
    int a[100][100];                //??????????? 
    int b[100][100];                //??????????? 
    int c[100][100] = {0};
        cin >> n >> m;
        
        //??A?? 
        for (r = 0; r < n; r++)
        {
            for (p = 0; p < m; p++)
            {
                cin >> a[r][p];
            }
        } 
        cin>> m >> k;
        //??B?? 
        for (r = 0; r < m; r++)
        {
            for (p = 0; p < k; p++)
            {
                cin >> b[r][p];
            }
        }
        //????????????C?????????? 
        for (r = 0; r < n; r++)
        {
            for (p = 0; p < k; p++)
            {
                for (q = 0; q < m; q++)
                {
                    c[r][p] = c[r][p] + a[r][q] * b[q][p];
                }
            }
        }
        //?C??????? k ??? n ??? 
        for (r = 0; r < n; r++)
        {
            for (p = 0; p < k - 1; p++)
            {
                cout << c[r][p] << " ";
            }
            cout << c[r][k - 1] <<endl;
        }
    return 0;
}
int main()
{
    int a[N][N]={0},b[N][N]={0},c[N][N]={0},x1,y1,x2,y2,i,j,s,t;
    scanf("%d %d",&x1,&y1);
    for (i=0;i<x1;i++)
        for (j=0;j<y1;j++)
            scanf("%d",&a[i][j]);

    scanf("%d %d",&x2,&y2);
    for (i=0;i<x2;i++)
        for (j=0;j<y2;j++)
            scanf("%d",&b[i][j]);

    for (i=0;i<x1;i++)
        for (j=0;j<y2;j++)
            for (s=0;s<y1;s++)
                c[i][j]+=a[i][s]*b[s][j];

    for (i=0;i<x1;i++)
        for (j=0;j<y2;j++)
        {
            printf("%d",c[i][j]);
            if (j<y2-1) printf(" ");
            if (j==y2-1) printf("\n");
        }

    return 0;
}
main()
{
      int m,q,n;
      
      //input matrix a
      scanf("%d %d",&m,&q);
      
      int **a;
      a=(int **)malloc(m*sizeof(int *));
      for (int i=0;i<m;i++)
      a[i]=(int *)malloc(q*sizeof(int));
      
      for (int i=0;i<m;i++)
      for (int j=0;j<q;j++)
      scanf("%d",&a[i][j]);
      
      //input matrix b
      scanf("%d %d",&q,&n);
      
      int **b;
      b=(int **)malloc(q*sizeof(int *));
      for (int i=0;i<q;i++)
      b[i]=(int *)malloc(n*sizeof(int));
      
      for (int i=0;i<q;i++)
      for (int j=0;j<n;j++)
      scanf("%d",&b[i][j]);
      
      //deifne matrix c
      int **c;
      c=(int **)malloc(m*sizeof(int *));
      for (int i=0;i<m;i++)
      c[i]=(int *)malloc(n*sizeof(int));
      
      //start multimatrix
      /*for (int i=0;i<m;i++)
      for (int j=0;j<n;j++)
      {
          int s=0;
          for (int w=0;w<q;w++)
          s=s+a[i][w]*b[w][j];
          c[i][j]=s;
      }
      */
      for(int i=0;i<m;i++)
         for(int j=0;j<n;j++)
            for(int k=0;k<q;k++) c[i][j]=c[i][j]+a[i][k]*b[k][j];
      //output
      /*for (int i=0;i<m;i++)
      for (int j=0;j<n;j++)
      {
          if (j==0)
          printf("%d",c[i][j]);
          else if (j==n-1)
          printf(" %d\n",c[i][j]);
          else
          printf(" %d",c[i][j]);
      }
      */
      int i,j;
      for(i=0;i<m;i++)
      {
         for(j=0;j<n-1;j++) printf("%d ",c[i][j]);
         printf("%d\n",c[i][j]);
      }  

}
int main(){
	int x1,y1,x2,y2,i,j,k,sum;
	scanf("%d %d",&x1,&y1);
	int A[x1][y1];
	for(i=1;i<=x1;i++){
		for(j=1;j<=y1;j++){
			scanf("%d",&A[i-1][j-1]);
		}
		
	}
	scanf("%d %d",&x2,&y2);
	int B[x2][y2];
	for(i=1;i<=x2;i++){
		for(j=1;j<=y2;j++){
			scanf("%d",&B[i-1][j-1]);
		}
		
	}
	for(i=1;i<=x1;i++){
		for(j=1;j<=y2;j++){
			sum=0;
			for(k=1;k<=x2;k++){
				sum=sum+A[i-1][k-1]*B[k-1][j-1];
			}
			if(j==1){
				printf("%d",sum);
			}
			else{
				printf(" %d",sum);
			}
		}
		printf("\n");
	}
}
main()
{
 int a[101][101],b[101][101],c[101][101],x1,y1,x2,y2,i,j,q;
 scanf("%d %d",&x1,&y1);
 for(i=1;i<=x1;i++)
   {for(j=1;j<=y1;j++) 
      scanf("%d",&a[i][j]);}  
 scanf("%d %d",&x2,&y2);
 for(i=1;i<=x2;i++)
  {for(j=1;j<=y2;j++)
   scanf("%d",&b[i][j]);}
 for(i=1;i<=x1;i++)
  for(j=1;j<=y2;j++)
  { c[i][j]=0;
    for(q=0;q<=x2;q++)
     c[i][j]=c[i][j]+a[i][q]*b[q][j]; 
         }   
 for(i=1;i<=(x1-1);i++)
  {
   {for(j=1;j<=(y2-1);j++)
    printf("%d ",c[i][j]);}
     printf("%d",c[i][y2]);
      printf("\n");}         
   for(j=1;j<=(y2-1);j++)
    {printf("%d ",c[x1][j]);}
        printf("%d",c[x1][y2]);                       
  
}
int main() {
    int x1,y1,x2,y2;
    int **a, **b, **c;
    int i,j,k;
    //printf("intput x1,y1?");
    scanf("%d%d", &x1, &y1);
   // printf("intput Array A(%d,%d):\n", x1, y1);
    a = (int**)malloc(sizeof(int*)*x1);
    for(i=0;i<x1;++i) {
        a[i] = (int*)malloc(sizeof(int)*y1);
        for(j=0;j<y1;++j) {
            scanf("%d", &a[i][j]);
        }
    }
    printf("\n");
     
   // printf("intput x2,y2:");
    scanf("%d%d", &x2, &y2);
    if(y1 != x2) {
        printf("Wrong parameter.");
        for(i=0;i<x1;++i) {
            free(a[i]);
        }
        free(a);
        return 0;
    }
  //  printf("intput Array A(%d,%d):\n", x2, y2);
    b = (int**)malloc(sizeof(int*)*x2);
    for(i=0;i<x2;++i) {
        b[i] = (int*)malloc(sizeof(int)*y2);
        for(j=0;j<y2;++j) {
            scanf("%d", &b[i][j]);
        }
    }
    printf("\n");
     
    c = (int**)malloc(sizeof(int*)*x1);
    for(i=0;i<x1;++i) {
        c[i] = (int*)malloc(sizeof(int)*y2);
        for(j=0;j<y2;++j) {
            c[i][j] = 0;
            for(k=0;k<y1;++k) {
                c[i][j] += a[i][k]*b[k][j];
            }
        }
    }
     
    for(i=0;i<x1;++i) {//??c
        for(j=0;j<y2-1;++j) {
            printf("%d ", c[i][j]);
    
        }
cout << c[i][y2-1];
        printf("\n");
    }
     
    //????
    for(i=0;i<x1;++i) {
        free(a[i]);
        free(c[i]);
    }
    free(a);
    free(c);
     
    for(i=0;i<x2;++i) {
        free(b[i]);
    }
    free(b);
     
    return 0;
}
int main()
{
    char temp;
    int x1,y1,x2,y2;
    cin>>x1>>y1;
    int a[x1][y1];
    for(int i=0;i<x1;i++)
    for(int j=0;j<y1;j++)  cin>>a[i][j];
    
    cin>>x2>>y2;
    int b[x2][y2];
    for(int i=0;i<x2;i++)
    for(int j=0;j<y2;j++)  cin>>b[i][j];
    
    int c[x1][y2];
    for(int i=0;i<x1;i++)
    for(int j=0;j<y2;j++)
    {
    c[i][j]=0;
    for(int k=0;k<x2;k++)  c[i][j]+=a[i][k]*b[k][j];
    }
    
    for(int i=0;i<x1;i++)
    {
    cout<<c[i][0];
    for(int j=1;j<y2;j++)
    {
    cout<<" "<<c[i][j];
    }
    cout<<endl;
    }
}
int main()
{
	int x1,y1,x2,y2;                                               //??????
	int a[100][100],b[100][100],c[100][100];                       //??????
	int i,j,k;                                                     //??????
	cin>>x1>>y1;                                                   //????a??
	for(i=0;i<x1;i++)                                              //????????
	{
		for(j=0;j<y1;j++)      
			cin>>a[i][j];
	}
	cin>>x2>>y2;                                                   //????b??
	for(i=0;i<x2;i++)                                              //????????
	{
		for(j=0;j<y2;j++)
			cin>>b[i][j];
	}
	for(i=0;i<100;i++)                                             //??c???
	{
		for(j=0;j<100;j++)
			c[i][j]=0;
	}
	for(i=0;i<x1;i++)                                              //????c????
	{
		for(j=0;j<y2;j++)
		{
			for(k=0;k<x2;k++)
				c[i][j]=c[i][j]+a[i][k]*b[k][j];
		}
	}
	for(i=0;i<x1;i++)                                              //????c
	{
		for(j=0;j<y2-1;j++)
			cout<<c[i][j]<<' ';                                    //??????
		cout<<c[i][y2-1]<<endl;                                    //????
	}
	return 0;
}
int main()
{
	int i,j,k,a[100][100],b[100][100],c[100][100],x1,x2,y1,y2;
	cin>>x1>>y1;
	for(i=0;i<x1;i++)
	{ 
       for(j=0;j<y1;j++)
	     {
           cin>>a[i][j];
	     }
	}
	cin>>x2>>y2;
	for(i=0;i<x2;i++)
	{
	   for(j=0;j<y2;j++)
	    {
			cin>>b[i][j];
	     } 
	}
	for(i=0;i<x1;i++)
	{
	 for(j=0;j<(y2-1);j++)
	 {
       c[i][j]=0;
	   for(k=0;k<y1&&k<x2;k++)
	   {
          c[i][j]+=a[i][k]*b[k][j];
        }
	cout<<c[i][j]<<" ";
	  }	
	 c[i][y2-1]=0;
	  for(k=0;k<y1&&k<x2;k++)
	   {
          c[i][y2-1]+=a[i][k]*b[k][y2-1];
        }
	  cout<<c[i][y2-1];
	cout<<endl;
	}
 return 0;
}
int main()
{
  int a[100][100],b[100][100],c[100][100],m,n,p,i,j,k;
  scanf("%d%d",&m,&n);
  for(i=0;i<m;i++)
   for(j=0;j<n;j++)
    scanf("%d",&a[i][j]);
  scanf("%d%d",&n,&p);
  for(i=0;i<n;i++)
   for(j=0;j<p;j++)
    scanf("%d",&b[i][j]);
  for(i=0;i<100;i++)
   for(j=0;j<100;j++)
    c[i][j]=0;
  for(i=0;i<m;i++)
    for(j=0;j<p;j++)
      for(k=0;k<n;k++)
        c[i][j]+=a[i][k]*b[k][j];
  for(i=0;i<m;i++)
   for(j=0;j<p;j++)
    printf("%d%c",c[i][j],(j==(p-1)?'\n':' '));
  scanf("%d",&i);
  return 0;
}
int main()
{
    int a[100][100],b[100][100],c[100][100],x1,x2,y1,y2,i,j,k,n;
	cin>>x1>>y1;
                for(i=0;i<=x1-1;i++)
				{
				    for(j=0;j<=y1-1;j++)
					{
					   cin>>a[i][j];
					}
				}
    cin>>x2>>y2;
                for(i=0;i<=x2-1;i++)
				{
				    for(j=0;j<=y2-1;j++)
					{
					   cin>>b[i][j];
					}
				}
          n=x2;
		  for(i=0;i<=x1-1;i++)
		  {
		      for(j=0;j<=y2-1;j++)
			  {
				  c[i][j]=0;
			     for(k=0;k<=n-1;k++)
				 {
				   c[i][j]=c[i][j]+a[i][k]*b[k][j];
				 }
			  }
		  }

        for(i=0;i<=x1-2;i++)
		{	
			for(j=0;j<=y2-2;j++)
		{
			cout<<c[i][j]<<" ";
			}
			cout<<c[i][y2-1];
			cout<<endl;
		}
        for(j=0;j<=y2-2;j++)
			cout<<c[x1-1][j]<<" ";
		cout<<c[x1-1][y2-1];
return 0;
}