semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main()
{
	int x1,y1,x2,y2;
	int a[100][100],b[100][100],c[100][100];
		int i,j,k;
	for(i=0;i<100;i++)
		for(j=0;j<100;j++)
			c[i][j]=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]+=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][j]<<endl;

	}

     return 0;
}
int main()
{
    int x1,y1,x2,y2,counter=0;
    int 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 k=0;k<x2;k++)
        for(int l=0;l<y2;l++)
            cin>>b[k][l];
    for(int m=0;m<x1;m++)
         for(int n=0;n<y2;n++)
             {
                c[m][n]=0;
                for(int o=0;o<y1;o++)
                    c[m][n]=c[m][n]+a[m][o]*b[o][n];
              }
    for(int p=0;p<x1;p++)
         for(int q=0;q<y2;q++)
             {
                  cout<<c[p][q];
                  counter+=1;
                  if(counter%y2==0) cout<<endl;
                  else cout<<" ";
              }
    return 0;
}
int main()
{
	int x1, x2, y1, y2;
	int 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++)
		{
			c[i][j] = 0;
			for (k = 0; k < x2; k++)
			{
				c[i][j] = c[i][j] + a[i][k] * b[k][j];
			}
			if (j == 0)
				cout << c[i][j];
			else
				cout << " " << c[i][j];
		}
		cout << endl;
	}

	return 0;
}
int main()
{
	int x1,y1,x2,y2;
	scanf("%d%d",&x1,&y1);
	int *a=(int*)malloc(sizeof(int)*x1*y1);
	int i,j,k;
	for(i=0;i<x1*y1;i++)
	{
		scanf("%d",a+i);
	}
	scanf("%d%d",&x2,&y2);
	int *b=(int*)malloc(sizeof(int)*x2*y2);
	for(i=0;i<x2*y2;i++)
	{
		scanf("%d",b+i);
	}
	int *c=(int*)malloc(sizeof(int)*x1*y2);
	for(j=0;j<x1;j++)
	{
		for(i=0;i<y2;i++)
		{
			for(k=0;k<y1;k++)
			{
				*(c+i+j*y2)+=*(a+j*y1+k)*(*(b+k*y2+i));
			}
		}
	}
	for(j=0;j<x1;j++)
	{
		printf("%d",*(c+j*y2));
if(y2==1)
printf("\n");
		for(i=1;i<y2;i++)
		{
			printf(" %d",*(c+i+j*y2));
			if(i==y2-1)
				printf("\n");
		}
	}
        free(a);
        free(b);
        free(c);
	return 0;
}
int main(void)
{
	int p,s,q,i,j,k;
	cin>>p>>s;
	int a[10000]={0},b[10000]={0},c[10000]={0};
	for(i=0;i<p*s;i++)
		cin>>a[i];
	cin>>s>>q;
	for(i=0;i<q*s;i++)
		cin>>b[i];

	for(i=0;i<p;i++)
		for(j=0;j<q;j++)
		{
			for(k=0;k<s;k++)
				c[i*q+j] +=a[i*s+k]*b[k*q+j];
		}

	for(i=0;i<p*q;i++)
	{
		cout<<c[i];
		if((i+1)%q==0)
			cout<<endl;
		else
			cout<<" ";
	

	}


	return 0;

}
main()
{
      int x1,y1;
      int i=0,j=0;
      scanf("%d %d",&x1,&y1);
      int a[x1][y1];
      while(i<x1){
                  while(j<y1){
                              scanf("%d",&a[i][j]);
                              j=j+1;
                              }
                  j=0;
                  i=i+1;
                  }
      int x2,y2;
      i=0,j=0;
      scanf("%d %d",&x2,&y2);
      int b[x2][y2];
      while(i<x2){
                  while(j<y2){
                              scanf("%d",&b[i][j]);
                              j=j+1;
                              }
                  j=0;
                  i=i+1;
                  }
      int c[x1][y2];
      int m=0,n=0,sum=0;
      int k=0;
      while(m<x1){
                  while(n<y2){
                              while(k<y1){
                                          sum=sum+a[m][k]*b[k][n];
                                          k=k+1;
                                          }
                              c[m][n]=sum;
                              sum=0;
                              n=n+1;
                              k=0;
                              }
                  n=0;
                  m=m+1;
                  }
      m=0,n=0;
      while(m<x1){
                  while(n<y2){
                              if(n==(y2-1))
                                 printf("%d\n",c[m][n]);
                              else
                                 printf("%d ",c[m][n]);
                              n=n+1;
                              }
                  n=0;
                  m=m+1;
                  }
}
//*************************
//*  ??????? 
//*  ????? 
//*  ???1200012941 
//*  ???2012?11?05? 
//*************************
int main()
{
    int x1, y1, x2, y2, i, j, k;
    cin >> x1 >> y1;
    int a[x1][y1];
    for (i = 0; i < x1; i++)
     for (j = 0; j < y1; j++)
     {
         cin >> a[i][j];
     }
    cin >> x2 >> y2;
    int b[x2][y2];
    for (i = 0; i < x2; i++)
     for (j = 0; j < y2; j++)
     {
         cin >> b[i][j];
     }
    int c[100][100] ={0};
    for (i = 0; i < x1; i++)
     for (j = 0; j < y2; j++)
     {
         for (k = 0; k < x2; k++)
         { 
              c[i][j] += a[i][k] * b[k][j];
         }
         if (j < y2 - 1)
         {
            cout << c[i][j] << " ";
         }
         else
         {
            cout << c[i][y2 - 1] << endl;
         }
     }
     return 0;
}
int main()                                  //?????
{                                           //?????
	int a[100][100]={0};                    //????a
	int b[100][100]={0};                    //????b
	int c[100][100]={0};                    //????c
	int i,j,k,l,m,n,o;                      //????
	int num=0;                              //????
	cin>>i>>j;                              //??
	for(m=0;m<i;m++)                        //a?????
	{
		for(n=0;n<j;n++)
			cin>>a[m][n];
	}
	cin>>k>>l;                             //??
	for(m=0;m<k;m++)                       //b?????
	{
		for(n=0;n<l;n++)
			cin>>b[m][n];
	}
	for(m=0;m<i;m++)                       //????
	{
		for(n=0;n<l;n++)
		{
			for(o=0;o<j;o++)
				c[m][n]=c[m][n]+a[m][o]*b[o][n];
		}
	}
	for(m=0;m<i;m++)                      //????
	{
		for(n=0;n<l;n++)
		{
			if(num<l-1)
			{
				cout<<c[m][n]<<" ";
				num++;
			}
			else if(num<l)
			{
				cout<<c[m][n]<<endl;
				num=0;
			}
		}
	}
	return 0;                             //?????
}
int main(){
    int x,y;
    int a[100][100],b[100][100],c[100][100];
    cin>>x>>y;
    int i,j,k;
    for(i=0;i<x;i++)
    	for(j=0;j<y;j++){
    		cin>>a[i][j];
    	}
    int x1,y1;
    cin>>x1>>y1;
    for(i=0;i<x1;i++)
    	for(j=0;j<y1;j++){
    		cin>>b[i][j];
    	}
    for(i=0;i<x;i++)
    	for(j=0;j<y1;j++)
    		for(k=0;k<y;k++){
    			c[i][j]=a[i][k]*b[k][j]+c[i][j];
    		}
    for(i=0;i<x;i++){
    	for(j=0;j<y1-1;j++){
    		cout<<c[i][j]<<' ';
    	}cout<<c[i][y1-1]<<endl;
    }
    return 0;
}
int main()
{
	int a[101][101],b[101][101],c[101][101];
	int i,j,x1,y1,x2,y2,q;
	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++)
			c[i][j]=0;
	}
	for(i=0;i<x1;i++)
	{
		for(j=0;j<y2;j++)
		{
			for(q=0;q<y1;q++)
				c[i][j]=c[i][j]+a[i][q]*b[q][j];
		}
	}
	for(i=0;i<x1;i++)
	{
		for(j=0;j<y2;j++)
{
			printf("%d",c[i][j]);
		if(j!=y2-1)
			printf(" ");}
		printf("\n");
	}
	return 0;
}
int main ()
{
	int a[101][101],b[101][101],c[101][101];
	int x1,x2,y1,y2,i,j;
	cin>>x1>>x2;
	for ( i=0; i<x1; i++ )
		for ( j=0; j<x2; j++ )
			cin>>a[i][j];
	cin>>y1>>y2;
	for ( i=0; i<y1; i++ )
		for ( j=0; j<y2; j++ )
			cin>>b[i][j];
			c[0][0]=0;
	for ( i=0; i<x1; i++ )
		for ( int j=0; j<y2; j++ )
			for ( int k=0; k<x2; k++ )
				c[i][j]=c[i][j]+a[i][k]*b[k][j];
	for ( i=0; i<x1; i++ )
			for ( int j=0; j<y2; j++ )
			{
				if ( (j+1)%y2!=0 )
				cout<<c[i][j]<<' ';
				else
				cout<<c[i][j]<<endl;
			}
	return 0;
}
int a[101][101], b[101][101], c[101][101] = {0};
int main()
{
	int x1, y1, x2, y2, 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];
			}
			if (j == 0)
			{
				cout << c[i][j];
			}
			else
			{
				cout << " " << c[i][j];
			}
		}
		cout << endl;
	}
	return 0;			
}
void main()
{  int h1,l1,h2,l2;
   int i,j;
   int x;
   int shuzu1[100][100];
   int shuzu2[100][100];
   int shuzu3[100][100];
   int (*p1)[100],(*p2)[100],(*p3)[100];

   p1=shuzu1;
   p2=shuzu2;
   p3=shuzu3;

   scanf("%d %d",&h1,&l1);
   for(i=0;i<h1;i++)
	   for(j=0;j<l1;j++)
         scanf("%d",*(p1+i)+j);
	   
	   scanf("%d %d",&h2,&l2);
   for(i=0;i<h2;i++)
	   for(j=0;j<l2;j++)
         scanf("%d",*(p2+i)+j);

   for(i=0;i<h1;i++)
	   for(j=0;j<l2;j++)
		   for(p3[i][j]=0,x=0;x<l1;x++)
			   p3[i][j]= p3[i][j]+*(*(p1+i)+x)**(*(p2+x)+j);

    for(i=0;i<h1;i++)
	   {for(j=0;j<l2;j++)
		   if(j!=l2-1)printf("%d ",p3[i][j]);
		    else printf("%d",p3[i][j]);

           if(i!=h1-1)printf("\n");                          
    }
}
//********************************
//*???????   **
//*?????? 1200012837 **
//*???2012.11.5  **
//********************************

int main()
{
	int x1, x2, y1, y2, i, j;
	int a[100][100], b[100][100], c[100][100] = {0,0};
	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];
	for(i = 0; i <= x1-1; i++)//??????
	for(j = 0; j <= y2-1; j++)
	for(int k = 0; k <= x2-1; k++)
		c[i][j] += a[i][k]*b[k][j];
	for(i = 0; i <= x1-1; i++)
	{
		for(j = 0; j <= y2-2; j++)
			cout << c[i][j] << " ";
		cout << c[i][y2-1] << endl;//???????
	}

	return 0;
}
int main()
{
     int i ,j, height, a[ 101 ][101] , b[101][101], c[101][101] ,k,l;
     int a1 ,a2, b1 , b2;
     scanf( "%d %d",&a1 ,&a2 );
     for( i = 1; i <= a1; i ++ )
        { for( j = 1; j <= a2; j ++ )
         scanf( "%d",&a[i][j] );
        }
     scanf( "%d %d", &b1,&b2 );
     for( i = 1; i <= b1; i ++ )
        {
         for( j = 1; j <= b2; j ++ )
         scanf( "%d",& b[i][j] );
         }
     for( k = 1; k <= a1; k ++ )
     {
         for ( l = 1; l <= b2; l ++ )
           {
             for( i = 1; i <= b1; i ++ )
                  c[k][l] += a[k][i] * b[i][l];
            if( l < b2 )
            printf( "%d ", c[k][l] );   
            else
            printf( "%d", c[k][l] );
           }
           printf("\n");
     }
}
//??????????

int main()                    //?????
{
	int a[100][100],b[100][100],c[100][100]={0};   //????????c???????0
	int m,n,x1,x2,y1,y2,k;    //??????m,n,??????x1,x2,y1,y2,??k
	cin>>x1>>y1;              //????a??
	for(m=0;m<x1;m++)
         {
	    for(n=0;n<y1;n++)
		{
		 cin>>a[m][n];         //????a?????
		}
	}
         cin>>x2>>y2;               //????b??
	for(m=0;m<x2;m++)         
         {
		for(n=0;n<y2;n++)
		{
			cin>>b[m][n];      //????b????
		}
	}
	for(m=0;m<100;m++)
		for(n=0;n<100;n++)
			for(k=0;k<y1;k++)
			{
			    c[m][n]+=a[m][k]*b[k][n];     //????a?b?????????c?
			}
	for(m=0;m<x1;m++)
	{
	    for(n=0;n<y2;n+=1)
	    {
	    cout<<c[m][n];        //????c?????
	    if(n<y2-1)
		cout<<' ';
	    }
	cout<<endl;
	 }
	return 0;
}                                          //?????
main()
{
      int a[100][100],b[100][100],c[100][100]={0},x1,y1,x2,y2,i,j,k;
      scanf("%d %d",&x1,&y1);
      for(i=0;i<=x1-1;i++)
      {
                          for(j=0;j<=y1-1;j++)
                          scanf("%d",&a[i][j]);
                          }
      scanf("%d %d",&x2,&y2);
      for(i=0;i<=x2-1;i++)
      {
                          for(j=0;j<=y2-1;j++)
                          scanf("%d",&b[i][j]);
                          }
      for(i=0;i<=x1-1;i++)
      {
                          for(j=0;j<=y2-1;j++)
                          {
                                              for(k=0;k<=y1-1;k++)
                                              c[i][j]+=a[i][k]*b[k][j];
                                              }
                          }
      for(i=0;i<=x1-1;i++)
      {
                          printf("%d",c[i][0]);
                          for(j=1;j<=y2-1;j++)
                          printf(" %d",c[i][j]);
                          printf("\n");
                          }

}
int max(int x,int y);
int main()
{
    int  a[200][200],b[200][200],c[400][400]={0};
    int x1,x2,y1,y2,x3,y3;
    int i,j,k,m;
    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]);
     x3=x1;
     y3=y2;
     for(i=0;i<x3;i++)
     for(j=0;j<y3;j++)
     {
         for(k=0;k<y1;k++)
         {
         c[i][j]+=a[i][k]*b[k][j];
         }
     }
     for(i=0;i<x3;i++)
     for(j=0;j<y3;j++)
      {
          if(j<y3-1)printf("%d ",c[i][j]);
          else 
          printf("%d\n",c[i][j]);

      }}
main()
{
    int a[100][100],b[100][100],c[100][100];
    int x1,y1,x2,y2,t,i,j;
    scanf("%d %d",&x1,&y1);
    for(t=0;t<x1*y1;t++)
    {
        i=t/y1;j=t%y1;
        scanf("%d",&a[i][j]);
    }
    scanf("%d %d",&x2,&y2);
    for(t=0;t<x2*y2;t++)
    {
        i=t/y2;j=t%y2;
        scanf("%d",&b[i][j]);
    }
    for(i=0;i<x1;i++)
    {
        for(j=0;j<y2;j++)
        {
            c[i][j]=0;
            int q,t;
            for(q=0;q<y1;q++)
            {
                t=a[i][q]*b[q][j];
                c[i][j]+=t;
            }
            if(j==0) printf("%d",c[i][j]);
            else printf(" %d",c[i][j]);
            if(j==y2-1)printf("\n");
        }
    }
}
int main()
{
   int a[100][100],b[100][100],c[100][100];
   int x1,y1,x2,y2,i,j,k,s;
   for(i=0;i<100;i++)
   {
                    for(j=0;j<100;j++)
                    {
                                     c[i][j]=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++)
                    {s=0;
                                     while(s<x2)
                                    { c[i][j]=c[i][j]+a[i][s]*b[s][j];
                                     s++;}
                    }
   }
   for(i=0;i<x1;i++)
   {
                    for(j=0;j<y2-1;j++)
                    {
                                     cout<<c[i][j]<<" ";
                    }
                    cout<<c[i][y2-1]<<endl;
   }
   cin>>k;
   return 0;
}
int main()
{
	int x1=0,y1=0,x2=0,y2=0;
	cin>>x1>>y1;
	int a[100][100]={(0)},b[100][100]={(0)},c[100][100]={(0)};
	int i=0,j=0;
	for(i=0;i<x1;i++)
		for(j=0;j<y1;j++)
			cin>>a[i][j];
	cin>>x2>>y2;
	for(int k=0;k<x2;k++)
		for(int l=0;l<y2;l++)
			cin>>b[k][l];
	for(int o=0;o<x1;o++)
		for(int p=0;p<y2;p++)
			for(int q=0;q<x2;q++)
				c[o][p]+=a[o][q]*b[q][p];
	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;
		}
	}cin.get();cin.get();cin.get();
	return 0;
}
/*???int a[4][3]???int b[3][5]??????????????????c=a*b. ????? 
c00 c01 c02 c03 c04 
c10 c11 c12 c13 c14 
c20 c21 c22 c23 c24 
c30 c31 c32 c33 c34 

?????????: 
????A[m][q]*B[q][n], 
????????C[m][n]?????C?????? 
C[i][j] = A[i][0]*B[0][j] + A[i][1]*B[1][j] + ..... + A[i][q]*B[q][j] 

?????????????4*3?3*5?????????????
????
????????????x1?y1?1<=x1<=100, 1<=y1<=100?? 
????x1?????y1???????????? 
???????????????x2?y2?1<=x2<=100?1<=y2<=100?????x2?y1???? 
????x2?????y2???????????? 
?????????int??????? 

??????? 
x1 y1 
a00 a01 a02 
a10 a11 a12 
a20 a21 a22 
a30 a31 a32 
x2 y2 
b00 b01 b02 b03 b04 
b10 b11 b12 b13 b14 
b20 b21 b22 b23 b24
????
?????x1???????????y2??????????c?????????? 

??????? 
c00 c01 c02 c03 c04 
c10 c11 c12 c13 c14 
c20 c21 c22 c23 c24 
c30 c31 c32 c33 c34*/
int main()
{
    int x1,y1,x2,y2,i,j,t;
    cin>>x1>>y1;
    int a[x1][y1];
    for(i=0;i<=x1-1;i++)
    {
         for(j=0;j<=y1-1;j++)
         cin>>a[i][j];
         }
    cin>>x2>>y2;
    int b[x2][y2];
    for(i=0;i<=x2-1;i++)
    {
         for(j=0;j<=y2-1;j++)
         cin>>b[i][j];
         }
    int c[x1][y2];
     for(i=0;i<=x1-1;i++)
    { for(j=0;j<=y2-1;j++)
    c[i][j]=0;} 
    for(i=0;i<=x1-1;i++)
    { for(j=0;j<=y2-1;j++)
         {for(t=0;t<=y1-1;t++)
            c[i][j]=a[i][t]*b[t][j]+c[i][j];
            }}
    for(i=0;i<=x1-1;i++)
    { for(j=0;j<=y2-1;j++)
    {if(j==y2-1)
    cout<<c[i][j]<<endl;
    else
    cout<<c[i][j]<<" ";
}}
return 0;
}
/*
 * matrix multiplication.cpp
 *
 *  Created on: 2012-11-10
 *      Author: Administrator
 */


int main(){
	int x1, y1, x2, y2;
	int a[110][110], b[110][110], c[110][110];
	int num, i, j, k;

	cin >> x1 >> y1;
	for (i = 0; i < x1; i++)
	{
		for (j = 0; j < y1; j++)
		{
			cin >> num;
			a[i][j] = num;
		}
	}
	cin >> x2 >> y2;
	for (i = 0; i < x2; i++)
	{
		for (j = 0; j < y2; j++)
		{
			cin >> num;
			b[i][j] = num;
		}
	}

	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] + c[i][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 a[100][100],b[100][100],c[100][100]={0};
   int d,e,f,g,i,j,k,m,n,p,q,r,s;
   scanf("%d %d",&d,&e);
   for(i=0;i<=d-1;i++)
   {
     for(j=0;j<=e-1;j++)
     scanf("%d",&a[i][j]);
   }
   scanf("%d %d",&f,&g);
   for(k=0;k<=f-1;k++)
   {
     for(m=0;m<=g-1;m++)
     scanf("%d",&b[k][m]);
   }
   for(n=0;n<=d-1;n++)
   {
      for(p=0;p<=g-1;p++)
      {
          for(q=0;q<=e-1;q++)
           {
            if(q==0)
            c[n][p]=a[n][q]*b[q][p];
            else               
            c[n][p]=c[n][p]+a[n][q]*b[q][p];
           }
      } 
   }
   for(r=0;r<=d-1;r++)
   {
      for(s=0;s<=g-1;s++)
      {
      if(s!=g-1)
      printf("%d ",c[r][s]);
      else if(s==g-1&&r!=d-1)
      printf("%d\n",c[r][s]);
      else if(s==g-1&&r==d-1)
      printf("%d",c[r][s]);
      }
   }
}
int main()
{
    int a[100][1000],b[100][100],c[100][100],x1,x2,y1,y2,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++)
       {
         c[i][j]=0;
         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++)
            {
               if(j==0)printf("%d",c[i][j]);
               else
                 printf(" %d",c[i][j]);
                 if(j==y2-1)printf("\n");
                 }
                 getchar();
                 getchar();
}
// * * * * * * * * * * * * * * *
// *???????             *
// *??????  1300013011   *
// *???2013.11.4            *
// * * * * * * * * * * * * * * *
int main()
{
	// a?b???????c????????
	int a[100][100], b[100][100], c[100][100] = {0}, x1, x2, y1, y2;
	
	cin >> x1 >> y1;
	for (int ia = 0; ia < x1; ia++)   // ???????????
	{
		for (int ka = 0; ka < y1; ka++)
			cin >> a[ia][ka];
	}
	
	cin >> x2 >> y2;
	for (int ib = 0; ib < x2; ib++)   // ???????????
	{
		for (int kb = 0; kb < y2; kb++)
			cin >> b[ib][kb];
	}
	
	for (int i = 0; i < x1; i++)      // i???a???
	{
		for (int k = 0; k < y2; k++)  // k???b???
		{
			for (int l = 0; l < x2; l++)   // a???b???????
				c[i][k] = c[i][k] + a[i][l] * b[l][k];  // ????c?????
		}
	}
	
	for (int ic = 0; ic < x1; ic++)   // ????????c
	{
		for (int kc = 0; kc < y2; kc++)
		{
			if (kc == 0)
				cout << c[ic][kc];
			else
			    cout << " " << c[ic][kc];  // ????????????????
		}
		cout << endl;          // ????????
	}
	return 0;
}
int main()
{
	int a[101][101],b[101][101],c[101][101]={0};
	int x1,y1,x2,y2=0;
	int i,j,k,l,m,n,p,r,s;
	cin>>x1>>y1;
	for(i=1;i<=x1;i++)
		for(j=1;j<=y1;j++)
			cin>>a[i][j];
    cin>>x2>>y2;
	for(k=1;k<=x2;k++)
		for(l=1;l<=y2;l++)
			cin>>b[k][l];
    for(m=1;m<=x1;m++)
		for(n=1;n<=y2;n++)
			for(p=1;p<=y1;p++)
				c[m][n]=c[m][n]+a[m][p]*b[p][n];
    for(r=1;r<=x1;r++)
	{
		for(s=1;s<y2;s++)
		{
			cout<<c[r][s]<<" ";
		}			
	    cout<<c[r][y2]<<endl;
	}		
    return 0;
}
//********************************
//*???????   **
//*????? 1300012707 **
//*???2013.11.06  **
//********************************
int main()
{
	int a[101][101], b[101][101], x1, y1, x2, y2, i, j, c;
	cin >> x1 >> y1;
	for ( i = 1; i <= x1; i = i + 1)
	{
		for ( j = 1; j <= y1; j = j + 1)
		{
			cin >> a[i][j];
		}
	}
	cin >> x2 >> y2;
	for ( i = 1; i <= x2; i = i + 1)
	{
		for ( j = 1; j <= y2; j = j + 1)
		{
			cin >> b[i][j];
		}
	}
	for ( i = 1; i <= x1; i = i + 1)
	{
		for ( j = 1; j < y2; j = j + 1)
		{
			c = 0;
			for ( int k = 1; k <= y1; k = k + 1)
			{
				c = c + a[i][k] * b[k][j];
			}
			cout << c << " ";
		}
		c = 0;
		for ( int k = 1; k <= y1; k = k + 1)
		{
			c = c + a[i][k] * b[k][y2];
		}
		cout << c << endl;
	}
	return 0;
}
int main()
{
    int x1,y1,x2,y2,i,j,m,n;
    int a[100][100],b[100][100],c[100][100]={0};/*a[x1][y1],b[x2][y2]*/
    scanf("%d %d",&x1,&y1);
    for (i=0;i<x1;i++)
    {
        for (j=0;j<y1;j++)
        {
            scanf ("%d",&m);
            a[i][j]=m;
        }
    }
    scanf ("%d %d",&x2,&y2);
    for (i=0;i<x2;i++)
    {
        for (j=0;j<y2;j++)
        {
            scanf ("%d",&n);
            b[i][j]=n;
        }
    }
    for (i=0;i<x1;i++)
    {
        for (j=0;j<y2;j++)
        {
            for (int t=0;t<y1;t++)
            c[i][j]=c[i][j]+a[i][t]*b[t][j];
        }
    }
    for (i=0;i<x1;i++)
    {
        for (j=0;j<y2;j++)
        {
            if (j==0) printf ("%d",c[i][j]);
            else printf (" %d",c[i][j]);
        }
        printf ("\n");
    }
    
    return 0;
}
int main()
{
         int x1,y1,x2,y2,i=0,j=0,b=0,k=0;
         cin>>x1>>y1;
         int jua[x1][y1];
         for(i=0;i<x1;i++)
                 for(j=0;j<y1;j++)
                         cin>>jua[i][j];
         cin>>x2>>y2;
         int jub[x2][y2];
         for(i=0;i<x2;i++)
                 for(j=0;j<y2;j++)
                         cin>>jub[i][j];
         int juc[x1][y2];
         for(i=0;i<x1;i++)
                for(j=0;j<y2;j++)
                         juc[i][j]=0;
         for(i=0;i<x1;i++)
                 for(j=0;j<y2;j++)
                 {
                                for(k=0;k<y1;k++)
                                juc[i][j]+=jua[i][k]*jub[k][j];
                 }
         for(i=0;i<x1;i++)
         {
                          b=0;
                          for(j=0;j<y2;j++)
                          {
                                           if(b==y2-1)
                                           cout<<juc[i][j]<<endl;
                                           else  {cout<<juc[i][j]<<' ';  b++;}
                          }
         }  
      
return 0;
}
//????
int main()
{
	int x1,y1,x2,y2,a[100][100],b[100][100],c[100][100],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]=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]<<endl;
	}
	return 0;
}
int main()
{
	int x1,y1,x2,y2;
	int i,j,k;
	int mat_1[100][100],mat_2[100][100];
	int mat[100][100]={0};
	
	scanf("%d %d",&x1,&y1);
	for(i=0;i<x1;i++)
		for(j=0;j<y1;j++)
			scanf("%d",&mat_1[i][j]);
	scanf("%d %d",&x2,&y2);
	for(i=0;i<x2;i++)
		for(j=0;j<y2;j++)
			scanf("%d",&mat_2[i][j]);
	
	for(i=0;i<x1;i++)
		for(j=0;j<y2;j++)
			for(k=0;k<y1;k++)
				mat[i][j]+=mat_1[i][k]*mat_2[k][j];
    for(i=0;i<x1;i++)
		for(j=0;j<y2;j++)
			printf("%d%c",mat[i][j],(j==y2-1)?'\n':' ');
	return 0;
}