semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
main()
{
      int i,j,x1,y1,x2,y2;
      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(i=0;i<x1;i++)
      for(j=0;j<y2;j++)
      for(int 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++)
       {printf("%d ",c[i][j]);}
       printf("%d\n",c[i][y2-1]);}
       }
//**************************** 
//*???????            *
//*????? 1200012708     *
//*???2012?11?05?      *
//**************************** 

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

    return 0;
}
int main()
{
   int a[100][100],b[100][100],c[100][100],x1,y1,x2,y2,i,j,k,s;

   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(j=0;j<x2;j++)
    for(k=0;k<y2;k++)
    scanf("%d",&b[j][k]);
for(i=0;i<x1;i++)

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

for(i=0;i<x1-1;i++)
{
for(k=0;k<y2-1;k++)
printf("%d ",c[i][k]);
printf("%d\n",c[i][y2-1]);
}
for(k=0;k<y2-1;k++)
printf("%d ",c[x1-1][k]);
printf("%d",c[x1-1][y2-1]);
    return 0;
}
int main()
{
   int x1,y1,x2,y2,i,j,t;
   int a[101][101],b[101][101],c[101][101];
   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];
	   }
   }
	 for(i=1;i<=x1;i++)
   {
       for(j=1;j<=y2;j++)
	   {
		   c[i][j]=0;
		   for(t=1;t<=y1;t++)
		   {
			   c[i][j]=c[i][j]+a[i][t]*b[t][j];
		   }
	   }
   }
	  for(i=1;i<=x1;i++)
   {
       cout<<c[i][1];
	   if(y2==1)
		   cout<<endl;
	   else
	   {
		  for(j=2;j<y2;j++)
	   {
		  cout<<' '<<c[i][j];
		}
		  cout<<' '<<c[i][y2]<<endl;
	   }
   }
return 0;	 
   
}
main()
{
     int x1,y1,x2,y2;
     scanf("%d",&x1);
     scanf("%d",&y1);
     int*p1=(int*)malloc(x1*y1*sizeof(int));
     for(int i=0;i<x1*y1;i++)
          scanf("%d",&p1[i]);
     scanf("%d",&x2);
     scanf("%d",&y2);
     int*p2=(int*)malloc(x2*y2*sizeof(int));
     for(int i=0;i<x2*y2;i++)
          scanf("%d",&p2[i]);
     int*p3=(int*)malloc(x1*y2*sizeof(int));
     for(int i=0;i<x1;i++)
     {
          for(int j=0;j<y2;j++)
          {
               p3[i*y2+j]=0;
               for(int k=0;k<y1;k++)
                    p3[i*y2+j]=p3[i*y2+j]+p1[i*y1+k]*p2[k*y2+j];
          }                                                                                  /*?????????*/
     }                                                                      
     for(int i=0;i<x1;i++)
     {
          for(int j=0;j<y2;j++)
          {
               if(j<y2-1)
               printf("%d ",p3[i*y2+j]);
               else
               printf("%d\n",p3[i*y2+j]);
          }     
     }
        return 0;
}
void main()
{
	int x1,y1;
	scanf("%d %d",&x1,&y1);
	int a[100][100];
	int i,j,k;
	for(i=0;i<x1;i++)
	{
		for(j=0;j<y1;j++)
		    scanf("%d",&a[i][j]);
	}
	int x2,y2;
	scanf("%d %d",&x2,&y2);
	int b[100][100];
	for(i=0;i<x2;i++)
	{
		for(j=0;j<y2;j++)
		    scanf("%d",&b[i][j]);
	}
	for(i=0;i<x1;i++)
	{
		int c=0;
		for(k=0;k<y1;k++)
			c=c+a[i][k]*b[k][0];
        printf("%d",c);
		for(j=1;j<y2;j++)
		{
            c=0;
		    for(k=0;k<y1;k++)
			c=c+a[i][k]*b[k][j];
		    printf(" %d",c);
		}
		printf("\n",c);
	}
}
// ?????? ???1000010500
// ????


int main()
{
	int x1,y1,x2,y2,i,j,q,a[100][100],b[100][100],c[100][100];
	memset(c,0,sizeof(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 ++)
			for (q = 0;q < y1;q ++)
				c[i][j] +=(a[i][q] * b[q][j]);

	for (i = 0;i < x1;i ++)
	{
		cout << c[i][0];                        // ?????
		for (j = 1;j < y2;j ++)
			cout << " " << c[i][j];
		cout << endl;
	}
	return 0;
}
int main(){
    int a[1000][1000],b[1000][1000],i,j,c[1000][1000],x1,x2,y1,y2,k,m;//??????
    cin>>x1;
    cin>>y1;
    for(i=0;i<x1;i++)
    	for(j=0;j<y1;j++)
    		cin>>a[i][j];//????a??
    cin>>x2;
    cin>>y2;
    for(i=0;i<x2;i++)
        for(j=0;j<y2;j++)
        	cin>>b[i][j];//??b????
    for(i=0;i<x1;i++){
    	
    	for(j=0;j<y2;j++){
    		m=0;//?m???0
    		for(k=0;k<=y1;k++)  			
    		m=a[i][k]*b[k][j]+m;
    		c[i][j]=m;
    	}
    }
    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 a[100][100],b[100][100],c[100][100],x1,y1,x2,y2,i,j,k;
    scanf ("%d %d",&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);
    for (i=1;i<=x2;i++)
    for (j=1;j<=y2;j++)
    scanf ("%d",&b[i-1][j-1]);
    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 (k=0;k<=y1-1;k++)
    c[i][j]+=a[i][k]*b[k][j];
    for (i=1;i<=x1;i++)
    for (j=1;j<=y2;j++)
    if (j!=y2)
    {printf ("%d ",c[i-1][j-1]);}
    else
    {printf ("%d\n",c[i-1][j-1]);}
    return 0;
}
int main()
{
	int x1,y1,x2,y2;
	int a[100][100],b[100][100],c[100][100];
	int i,j,k,h;
	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(k=0;k<x2;k++)
			for(h=0;h<y2;h++)
				scanf("%d",&b[k][h]);
	for(i=0;i<x1;i++)
		for(h=0;h<y2;h++)
			{c[i][h]=a[i][0]*b[0][h];
	        for(j=1;j<x2;j++) c[i][h]+=a[i][j]*b[j][h];}
	for(i=0;i<x1;i++)
	{
		for(h=0;h<y2-1;h++)
			{printf("%d ",c[i][h]);}
		printf("%d\n",c[i][y2-1]);
	}
	return 0;
}
int main()
{
   int a[100][101],b[101][100],c[100][100],i,j,k,p,q,x,y,m,n,s;
   scanf("%d %d",&m,&q);
   for(i=0;i<m;i++)
   {
     for(j=0;j<(q-1);j++)
     {
       scanf("%d ",&a[i][j]);
     }
     scanf("%d",&a[i][q-1]);
   }
   scanf("%d %d",&q,&n);
   for(i=0;i<q;i++)
   {
     for(j=0;j<(n-1);j++)
     {
       scanf("%d ",&b[i][j]);
     }
     scanf("%d",&b[i][n-1]);
   }
   for(i=0;i<m;i++)
   {
     for(j=0;j<n;j++)
     { s=0;
       for(k=0;k<=q;k++)
       {
         s=s+a[i][k]*b[k][j];
       } 
       c[i][j]=s;
     
     }
   }
   for(i=0;i<m;i++)
   {
     for(j=0;j<(n-1);j++)
     {
       printf("%d ",c[i][j]);
     }
     printf("%d\n",c[i][n-1]);
   }



}
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++)
  {printf("%d",c[i][1]);
   for(j=2;j<=y2;j++)
    {printf(" %d",c[i][j]);}
      printf("\n");}                              
   printf("%d",c[x1][1]);
   for(j=2;j<=y2;j++) 
   printf(" %d",c[x1][j]);
}
// ????.cpp : ??????????????
//



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


}
/*
 * ?????.cpp
 *
 *  Created on: 2010-11-20
 *      Author: jsgl
 */
int main()
{
	int x1,y1,x2,y2,i,j,k;   //i?j?k??????x1,y1,x2,y2???????????

	cin>>x1>>y1;
	int a[101][101];
	for (i=1;i<=x1;i++)
		for (j=1;j<=y1;j++)
			cin>>a[i][j];   //??????????

	cin>>x2>>y2;
	int b[101][101];
		for (i=1;i<=x2;i++)
			for (j=1;j<=y2;j++)
				cin>>b[i][j];  //??????????

    int c[101][101];
      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];

    		}                 //????????c(i,j)??a???i??b???j?????????????c??
    for (i=1;i<=x1;i++)
	   for (j=1;j<=y2;j++)
	   {
		   if (j!=y2)
		   cout<<c[i][j]<<' ';
		   else
			   cout<<c[i][y2]<<endl;
	   }                      //??c?????????
   return 0;
}
int main(){
	int x1,y1,x2,y2;//?????????????????
	cin>>x1>>y1;//????a??????
	int a[x1][y1],i,j,k;//????a?????????????i,j,k
	for(i=0;i<x1;i++)//????a???
		for(j=0;j<y1;j++){
			cin>>a[i][j];
		}
	cin>>x2>>y2;//?????a???????b,???a,b????????c
	int b[x2][y2],c[x1][y2];
	for(i=0;i<x2;i++)
		for(j=0;j<y2;j++){
			cin>>b[i][j];
		}
	for(i=0;i<x1;i++)//?c???????
		for(j=0;j<y2;j++){
			c[i][j]=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];//??c????????????????
			}
	for(i=0;i<x1;i++)//????c
		for(j=0;j<y2;j++){
			if(j<y2-1) cout<<c[i][j]<<' ';//??????????????????????????????????
			if(j==y2-1) cout<<c[i][j]<<endl;//??????????????????????????
		}
	return 0;//????
}
main()
{
      int a[100][100],b[100][100],c[100][100],i,j,k,x1,y1,x2,y2,m;
      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",&m);
           b[i][j]=m;
        }
      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]=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)
             printf("%d ",c[i][j]);
           else
             printf("%d\n",c[i][j]);
        }
     
}
main()
{
      int x1,y1,m,n;
   
      scanf("%d %d",&x1,&y1);
      int a[x1][y1];
      for(m=0;m<x1;m++)
      {
                   for(n=0;n<y1;n++)
                   {
                                    scanf("%d",&a[m][n]);
                   }
      }
      int x2,y2,p,q;
      
      scanf("%d %d",&x2,&y2);
      int b[x2][y2];
      for(p=0;p<x2;p++)
      {
                   for(q=0;q<y2;q++)
                   {
                                    scanf("%d",&b[p][q]);
                   }
      }
      int c[x1][y2];
      int d,e,f;
      int r,t;
      for(r=0;r<x1;r++)
      {
                       for(t=0;t<y2;t++)
                       {
                                        c[r][t]=0;
                       }
      }
      for(d=0;d<x1;d++)
      {
                       for(e=0;e<y2;e++)
                       {
                                        
                                        for(f=0;f<y1;f++)        
                                        { 
                                                     c[d][e]+=a[d][f]*b[f][e];
                                        }
                                      
                       }
      }
      int g,h;
      for(g=0;g<x1;g++)
      {
                       for(h=0;h<y2;h++)
                       {
                                         if(h<y2-1)
                                        printf("%d ",c[g][h]);
                                        else
                                        printf("%d\n",c[g][h]);                       }
      }
}
main()
{
  int x1,y1,x2,y2,i,j,k,a=0,b=0;
  scanf("%d %d",&x1,&y1);
  static int x[102][102],y[102][102],z[102][102];
  for(i=1;i<=x1;i++)
     for(j=1;j<=y1;j++)
         scanf("%d",&x[i][j]);
  scanf("%d %d",&x2,&y2);
  for(i=1;i<=x2;i++)
     for(j=1;j<=y2;j++)
         scanf("%d",&y[i][j]);
  for(i=1;i<=x1;i++)
    for(j=1;j<=y2;j++)
       for(k=1;k<=y1;k++)
           z[i][j]+=x[i][k]*y[k][j];
  for(i=1;i<=x1;i++)
   { for(j=1;j<=y2;j++)
        {if(a!=0)
         printf(" ");
         printf("%d",z[i][j]);
         a++;}
      a=0;
      printf("\n");
   }
}
int main()
{
	int m,n,p,i,j,k,a[100][100],b[100][100],c[100][100]={0},o;
	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",&o,&p);
	for(i=0;i<o;i++)
	{
		for(j=0;j<p;j++)
		{
			scanf("%d",&b[i][j]);
		}
	}
	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++)
		{
			if(p==1) printf("%d\n",c[i][j]);
			else if(j==0) printf("%d",c[i][j]);
			else if(j==p-1)
				printf(" %d\n",c[i][j]);
			else
				printf(" %d",c[i][j]);
		}
	}
	return 0;
}
int main()
{
	int a[110][110]={0},b[110][110]={0},c[110][110]={0};
	int x1,y1,x2,y2,i,j,k;
	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++)
		{
			for(k=1;k<=y1;k++)
			{
				c[i][j]+=a[i][k]*b[k][j];
			}
			if(j==1) printf("%d", c[i][j]);
			else printf(" %d", c[i][j]);
		}
		printf("\n");
	}
	return 0;
}
/**
 * @file 2.cpp
 * @author ??? 1300012960
 * @date 2013-11-01
 * @description
 * ??????: ???? */
int main()
{
    int x1, y1, x2, y2, a[100][100], b[100][100], tmp = 0;
    // x1 y1 x2 y2?????????  a[100][100] b[100][100]????????? tmp??????????
    
    cin >> x1 >> y1;      // ????????????????
    for (int i = 0; i <= x1 - 1; i++)
    {
        for (int j = 0; j <= y1 - 1; j++)
        {
            cin >> a[i][j];
        }
    }
    cin >> x2 >> y2;
    for (int i = 0; i <= x2 - 1; i++)
    {
        for (int j = 0; j <= y2 - 1; j++)
        {
            cin >> b[i][j];
        }
    }
    
    for (int k = 0; k <= x1 - 1; k++)        // ????????k?l???? ????????????????
    {
        for (int l = 0; l <= y2 - 2; l++)   // ????????? ????y2 - 2???
        {
            for (int m = 0; m <= y1 - 1; m++)
            {
                tmp += (a[k][m] * b[m][l]);   // tmp?????+ a[k][m] * b[m][l]
            }
            cout << tmp << ' ';
            tmp = 0;
        }
        for (int m = 0; m <= y1 - 1; m++)     // ???????? ???
        {
            tmp += (a[k][m] * b[m][y2 - 1]);
        }
        cout << tmp << endl;
        tmp = 0;        // tmp???0
    }
    return 0;
}
int main()
{
	int a[110][110];                                     //????AB????
	int b[110][110];
	int c[110][110];
	int x1, x2, y1, y2;
	cin >> x1 >> y1;                                     //??????

	for ( int q = 0; q < x1; q++ )
	{
		for ( int w = 0; w < y1; w++ )
			cin >> a[q][w];
	}

	cin >> x2 >> y2;

	for (int e = 0; e < x2; e++ )
	{
		for ( int r = 0; r < y2; r++ )
			cin >> b[e][r];
	}

	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] = c[i][j] + a[i][k] * b[k][j];
			if ( j < y2 - 1 )
				cout << c[i][j] << " ";                           //??????????????????
			else   
				cout << c[i][j] << endl;                          //?????????
		}
	}
	return 0;
}
main()
{
      int i,j,k,x1,y1,x2,y2,sign;
      int a[100][100],b[100][100],c[100][100]={{0}};
      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]+=a[i][k]*b[k][j];
      }
      for(i=0;i<x1;i++)
      {
                       sign=0;
                       for(j=0;j<y2;j++)
                       {
                                        if(sign==0)
                                        {
                                                    printf("%d",c[i][j]);
                                                    sign++;
                                        }
                                        else printf(" %d",c[i][j]);
                       }
                       printf("\n");
      }
      
}
int main()
{
    int x1,y1;
    int i,j,k,l;
    int x2,y2;
    int a[200][200];
    int b[200][200];
    int c[200][200];
    cin>>x1>>y1;
    for(i=0;i<x1;i++)
     {
        for(j=0;j<y1;j++)
          cin>>a[i][j];
          cout<<endl;
     }
     cin>>x2>>y2;
     for(i=0;i<x2;i++)
     {
       for(j=0;j<y2;j++)
         cin>>b[i][j];
         cout<<endl;     
     }
     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][y2-1];
        cout<<endl;}
        int ss;cin>>ss;
        return 0;
}
int main()
{
    int a[100][100],b[100][100],c[100][100],i,j,k,x1,y1,x2,y2;
    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(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&&y2==1) {printf("%d\n",c[i][j]);}
     else if(j==0) {printf("%d",c[i][j]);}
          else if(j<(y2-1)) {printf(" %d",c[i][j]);}
                else if(i<(x1-1)){printf(" %d\n",c[i][j]);}
                      else {printf(" %d",c[i][j]);}
     }
    }
}
int main()
{
	int a[100][100],b[100][100],c[100][100];
	int x1,y1,x2,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++)
		{
			c[i][j]=0;
			for(k=0;k<x2;k++)
			{
				c[i][j]+=a[i][k]*b[k][j];
			}
		}
	}
	for(i=0;i<x1;i++)
	{
		printf("%d",c[i][0]);
		for(j=1;j<y2;j++)
		{
			printf(" %d",c[i][j]);
		}
		printf("\n");
	}
	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];

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

   for(i=0;i<h1;i++)
	   for(j=0;j<l2;j++)
		   for(shuzu3[i][j]=0,x=0;x<l1;x++)
			   shuzu3[i][j]= shuzu3[i][j]+*(*(shuzu1+i)+x)**(*(shuzu2+x)+j);

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

           if(i!=h1-1)printf("\n");                          
    }
}
int main(){
	int x1,y1,x2,y2,i,j,k;
	cin>>x1;//??x1 
	cin>>y1;//??y1

int a[x1][y1];

for(i=0;i<x1;i++)//????a???
	for(j=0;j<y1;j++)
		cin>>a[i][j];
    cin>>x2;
	cin>>y2;
	int b[x2][y2],c[x1][y2];
for(i=0;i<x2;i++)//????b???
	for(j=0;j<y2;j++)
		cin>>b[i][j];

for(i=0;i<x1;i++){//?c??????0 
	for(j=0;j<y2;j++){
		c[i][j]=0;
		}
	}
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 x1,y1,x2,y2,i,j,k;
    int a[100][100],b[100][100];
    int c[100][100]={0};
    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]=a[i][k]*b[k][j]+c[i][j];
        }
    }
    for(i=0;i<x1;i++)
    {
        printf("%d",c[i][0]);
        for(j=1;j<y2;j++)
        printf(" %d",c[i][j]);
        printf("\n");
    }
}
int main()
{
    int m,q,n,i,j,t;
    scanf("%d %d",&m,&q);
    int a[100][100];
    int b[100][100];
    int c[100][100];
    for(i=0;i<m;i++)
    { scanf("\n%d",&a[i][0]);
      for(j=1;j<q;j++)
      scanf(" %d",&a[i][j]);
      }
      scanf("%d %d",&q,&n);
     for(i=0;i<q;i++)
    { scanf("\n%d",&b[i][0]);
      for(j=1;j<n;j++)
      scanf(" %d",&b[i][j]);
      } 
      for(i=0;i<m;i++)
      { 
        for(j=0;j<n;j++)
        {   c[i][j]=0;
        for(t=0;t<q;t++)
        {c[i][j]=(a[i][t])*(b[t][j])+c[i][j];}} }
      for(i=0;i<m;i++)
     { printf("\n%d",c[i][0]);
        for(j=1;j<n;j++)
        printf(" %d",c[i][j]);}
        return 0;
        }
void main()
{
	int a[105][105],b[105][105],ax,ay,bx,by,i,j,m,c[105][105]={0};
	scanf("%d%d",&ax,&ay);
	for(i=0;i<ax;i++)
		for(j=0;j<ay;j++)
			scanf("%d",&a[i][j]);
	scanf("%d%d",&bx,&by);
	for(i=0;i<bx;i++)
		for(j=0;j<by;j++)
			scanf("%d",&b[i][j]);
	for(i=0;i<ax;i++)
		for(j=0;j<by;j++)
		{
			for(m=0;m<ay;m++)
				c[i][j]+=a[i][m]*b[m][j];
			printf("%d",c[i][j]);
			if(by-1-j)
				printf(" ");
			else
				printf("\n");
		}
}
int m[100][100],n[100][100],c[100][100]={0};
int main()
{
	int x1,x2,y1,y2,i,j,k;
	cin>>x1>>y1;
	for(i=0;i<x1;i++)
	{
		for(j=0;j<y1;j++)
		{
			cin>>m[i][j];
		}
	}
	cin>>x2>>y2;
	for(i=0;i<x2;i++)
	{
		for(j=0;j<y2;j++)
		{
			cin>>n[i][j];
		}
	}
	for(i=0;i<x1;i++)
	{
		for(j=0;j<y2;j++)
		{
			for(k=0;k<x2;k++)
			c[i][j]+=m[i][k]*n[k][j];
		}
		for(j=0;j<y2-1;j++)
			cout<<c[i][j]<<' ';
		cout<<c[i][y2-1]<<endl;
	}
	return 0;
}
//****************************
//*@file:4.cpp               *
//*@author:??? 1200012894 *
//*@date:2012.11.7           *
//*@function:??????    *
//****************************

int main()
{
	int x1, y1, x2, y2;  // x1, y1???1???????x2, y2???2??????
	int matrix1[100][100], matrix2[100][100], matrix3[100][100];  //matrix1, matrix2???matrix3
	int i, j, k, l, r, t, p, number; // number???????i, j, k, l, r, t, p?????
	memset(matrix3, 0, sizeof(matrix3));  
	cin >> x1 >> y1;
	for (i = 0; i < x1; i++)  // ?????i?x1
	{
		for (j = 0; j < y1; j++)  // ?????j?y1
		{
			cin >> number;
			matrix1[i][j] = number;
		} // end for
	} // end for 
	cin >> x2 >> y2;
	for (k = 0; k < x2; k++)  // ??????k?x2
	{
		for (l = 0; l < y2; l++)  // ??????l?y2
		{
			cin >> number;
			matrix2[k][l] = number;
		}
	}
	for (r = 0; r < x1; r++)  // ??????????matrix3???x1 * y2???
	{
		for (t = 0; t < y2; t++)
		{
			for(p = 0; p < y1; p++)  // y1 = x2,????p????
			{
				matrix3[r][t] = matrix1[r][p] * matrix2[p][t] + matrix3[r][t];
			}
		}
	}
	for (i = 0; i < x1; i++)
	{
		for(j = 0; j < y2; j++)
		{
			if (j != y2 - 1)
			{
				cout << matrix3[i][j] << " ";
			}
			else
			{
				cout << matrix3[i][j];
			}
		}
		cout << endl;
	}
	return 0;
}