semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main()
{
	int x1,y1,x2,y2;
	int i,j,k;
	int a[100][100];
	int b[100][100];
	int c[100][100];
	memset(c,0,sizeof(c));
	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<y1;k++)
    		{
    			c[i][j] += a[i][k]*b[k][j];
    		}
			if(j==y2-1)
				printf("%d",c[i][j]);
			else
				printf("%d ",c[i][j]);
    	}
		printf("\n");
    }

	return 0;
}
int main()
{
	int a[100][100],b[100][100],c[100][100];
	int i,j,k,l,x1,x2,y1,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(k=0;k<=x2-1;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]);
	}
	return 0;
}
main()
{
	int x1,y1,x2,y2,a[100][100],b[100][100],c[100][100],i,j,q;
	c[0][0]=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(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-1;j++)
		{
			printf("%d ",c[i][j]);
		}
		printf("%d\n",c[i][y2-1]);
	}
	return 0;
}
int main ()
{
	int a[100][100],b[100][100],c[100][100];
	int x1,x2,y1,y2;
	scanf("%d %d",&x1,&y1);
	for (int i=0;i<x1;i++)
	{
		for (int j=0;j<y1;j++)
			scanf("%d",&a[i][j]);
	}
	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 t=0;t<y1;t++)
				c[i][j]+=a[i][t]*b[t][j];
		}
	}
	for (int i=0;i<x1;i++)
	{
		for (int j=0;j<y2;j++)
		{
			printf("%d",c[i][j]);
			if(j!=(y2-1))
			printf(" ");
		}
		printf("\n");
	}
	return 0;
}
main()
{
int x1,y1,x2,y2,a[100][100],b[100][100],c[100][100];
int i,j,k;
for(i=0;i<=99;i++)
{
	for(j=0;j<=99;j++)
	{
	c[i][j]=0;
	}

}
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++)
{
for(j=0;j<=y2-1;j++)
{
if(j==y2-1)
printf("%d\n",c[i][j]);
else
printf("%d ",c[i][j]);
}

}

}
int main()
{
	int *a=NULL,*b=NULL,*c=NULL;
	int x1=0,x2=0,y1=0,y2=0,i,j,k;
	scanf("%d%d",&x1,&y1);
	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);
	b=(int *)malloc(x2*y2*sizeof(int));
	for(i=0;i<x2;i++)
	{
		for(j=0;j<y2;j++)
		{
			scanf("%d",&b[i*y2+j]);
		}
	}
	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<x2;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;j++)
		{
			printf("%d",c[i*y2+j]);
			if(j<y2-1)
			{printf(" ");}
			if(j==y2-1)
			{printf("\n");}
		}
	}
}
/*
 * ???: 1000010191_33_6.cpp
 * ??: ???
 * ????: 2010-11-23
 * ??: ?????
 */


int main()
{
	int i,j,k,x1,y1,x2,y2;
	int a[101][101],b[101][101],c[101][101]={0}; //???????
	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++)
			for (k=1;k<=x2;k++)
				c[i][j]+=a[i][k]*b[k][j];
	//??
	for (i=1;i<=x1;i++)
	{
		for (j=1;j<y2;j++)
			cout<<c[i][j]<<' ';
		cout<<c[i][y2]<<endl;
	}
	return 0;
}
void main()
{
	int q,i,j,x1,y1,x2,y2,a[100][100],b[100][100],c[100][100];
	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(q=0;(q<y1)&&(q<x2);q++)
			{
				c[i][j]=c[i][j]+a[i][q]*b[q][j];
			}
			printf("%d",c[i][j]);
			if(j!=y2-1) printf(" ");
			else printf("\n");
		}
	}
}
int main()
{
int M=0;  //M,k,i?????
int k=0;   
int i=0;
int Xa=0;   //????a,b??????
int Xb=0;
int Ya=0;
int Yb=0;
int c[100][100]={0};  //??3?2????????
int a[100][100]={0};
int b[100][100]={0};
    cin>>Xa>>Ya;        //??????a,b???????
       for (i=0;i<Xa;i++)
          {for (k=0;k<Ya;k++)
             {cin>>a[i][k];}
          }
   cin>>Xb>>Yb;
       for (i=0;i<Xb;i++)
          {for (k=0;k<Yb;k++)
             {cin>>b[i][k];}
          }
      for (i=0;i<Xa;i++)    //?????????
         {  for (k=0;k<Yb;k++)
              {  for  (M=0;M<Xb;M++)
                   {c[i][k]+=a[i][M]*b[M][k];
        
                   }
               }
         }
   
      for (i=0;i<Xa;i++)   //??
            { for (k=0;k<Yb;k++)
                  { if (k!=Yb-1)
                       cout<<c[i][k]<<" ";
                    if (k==Yb-1)
                       cout<<c[i][k]<<endl;
                  }
           }
return 0;
}
main()
{
    int i,j,n,k;
    int x1,y1,x2,y2;
    int a[100][100];
    int b[100][100];
    int c[100][100];
    for(i=0;i<100;i++)
      {
          for(j=0;j<100;j++)
           {
              a[i][j]=0;
              b[i][j]=0;
              c[i][j]=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]=c[i][j]+a[i][k]*b[k][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");
       }




}
int main()
{
	int a[100][100],b[100][100],c[100][100]={0},i,j,m,a1,a2,b1,b2,c1,c2;
cin>>a1>>a2;
for(i=0;i<a1;i++)
{
	for(j=0;j<a2;j++)
	{
		cin>>a[i][j];
	}
}
cin>>b1>>b2;
for(i=0;i<b1;i++)
{
	for(j=0;j<b2;j++)
	{
		cin>>b[i][j];
	}
}
c1=a1;
c2=b2;
for(i=0;i<c1;i++)
{
	for(j=0;j<c2;j++)
	{
        for(m=0;m<a2;m++)
		{
		    c[i][j]=c[i][j]+a[i][m]*b[m][j];
		}
	}
}
for(i=0;i<c1;i++)
{
	for(j=0;j<c2;j++)
	{
		printf("%d",c[i][j]);
		if(j==c2-1)printf("\n");
		else printf(" ");
	}
}
return 0;
}
int main()
{
	int x1,y1,x2,y2;
	scanf("%d %d",&x1,&y1);
	int i,j,k,l,m,n,p,q,r,s,x,y; 
	int a[100][100],b[100][100],c[100][100]={0};
	for(k=0;k<x1;k++)
	{
		for(l=0;l<y1;l++)
			scanf("%d",&a[k][l]);
	}
	scanf("%d %d",&x2,&y2);
	for(m=0;m<x2;m++)
	{
		for(n=0;n<y2;n++)
			scanf("%d",&b[m][n]);
	}
	for(q=0;q<x1;q++)
	{
		for(r=0;r<y2;r++)
		{
			for(s=0;s<y1;s++)
				c[q][r]=c[q][r]+a[q][s]*b[s][r];
		}
	}
	for(x=0;x<x1;x++)
	{
			for(y=0;y<y2;y++)
			{
				if(y!=y2-1)
					printf("%d ",c[x][y]);
				else
					printf("%d\n",c[x][y]);
			}
	}
}
int main()
{
    int x1,y1,x2,y2;
    int a[100][100],b[100][100];
    scanf("%d%d",&x1,&y1);
    for(int i=0;i<x1;i++)
        for (int j=0; j<y1; j++)
            scanf("%d",&a[i][j]);
    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++)
        {
            int k1=0;
            for(int k=0;k<y1;k++ )
                k1+=a[i][k]*b[k][j];
            printf("%d",k1);
            if(j!=y2-1) printf(" ");
            else  printf("\n");
        }
}
int main()
{
    int a1,b1,a2,b2;//??????????? 
    int num1[100][100];//?????? 
    int num2[100][100];
    int num3[100][100];
    for(int i=0;i<100;i++)//????0 
    {
            for(int j=0;j<100;j++)
            {
                    num1[i][j]=0;
                    num2[i][j]=0;
                    num3[i][j]=0;
            }
    }
    cin>>a1>>b1;//?????? 
    for(int i=0;i<a1;i++)
    {
            for(int j=0;j<b1;j++)
            {
                    cin>>num1[i][j];
            }
    }
    cin>>a2>>b2;
    for(int i=0;i<a2;i++)
    {
            for(int j=0;j<b2;j++)
            {
                    cin>>num2[i][j];
            }
    }
    for(int i=0;i<a1;i++)//?????????? 
    {
            for(int j=0;j<b2;j++)
            {
                    for(int k=0;k<b1;k++)
                    {
                            num3[i][j]=num3[i][j]+num1[i][k]*num2[k][j];
                    }
            }
    }
    for(int i=0;i<a1;i++)
    {
            for(int j=0;j<b2;j++)
            {
                    cout<<num3[i][j];
                    if(j<b2-1)
                    {
                              cout<<' ';
                    }
            }
            cout<<endl;
    }
    return 0;
}
int a[105][105]={0},b[105][105]={0};
int main()
{
	int x1,y1,x2,y2,i,j,x,y,c,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]);
		}
	}
	if(x1>x2) x=x1;
	else x=x2;
	if(y1>y2) y=y1;
	else y=y2;
	for(i=0;i<x;i++)
	{
		for(j=0;j<y;j++)
		{
			c=0;
			for(k=0;k<y1;k++)
			{
				c=c+a[i][k]*b[k][j];
			}
			if(i<x1&&j<y2)
			{
				if(j==0) printf("%d",c);
				else printf(" %d",c);
			}
		}
		printf("\n");
	}
	return 0;
}
int main ()
{
	int a[100][100], b[100][100], c[100][100] = {0};
	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] + c[i][j];
		}
	}
	k = 0;
	for (i = 0; i < x1; i++)
	{
		for (j = 0; j < y2; j++)
		{
			if (k != y2 - 1)
			{
				cout << c[i][j] << " ";
				k++;
			}
			else
			{
				cout << c[i][j] << endl;
				k = 0;
			}
		}
	}
	return 0;
}
int main()
{
 int a[100][100],b[100][100],c[100][100],x1,y1,x2,y2,i,j,k; //a,b,c????????,x1,y1,x2,y2?a,b?????,ijk?????
 for(i=0;i<100;i++)
  for(j=0;j<100;j++)
   {
    a[i][j]=0;
    b[i][j]=0;
    c[i][j]=0;           //?????????0
   }
 cin>>x1>>y1;            //??a???
 for(i=0;i<x1;i++)
  for(j=0;j<y1;j++)
   cin>>a[i][j];         //????a
 cin>>x2>>y2;            //??b???
 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++)
   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]<<endl;            //?????
  }
 return 0;
}
int a[100][100];
int b[100][100];
int x, y, v;
int main()
{
	int x1, y1, x2, y2;
	cin >> x1 >> y1;
	for (x = 0; x < x1; x++)
	{
		for (y = 0; y < y1; y++)
		{
			cin >> a[x][y];
		}
	}
	cin >> x2 >> y2;
	for (x = 0; x < x2; x++)
	{
		for (y = 0; y < y2; y++)
		{
			cin >> b[x][y];
		}
	}
	for (x = 0; x < x1; x++)
	{
		for (y = 0; y < y2; y++)
		{
			for (int i = 0; i < x2; i++) 
			{
				v += a[x][i] * b[i][y];
			}
			cout << v;
			if (y == y2 - 1)
			{
				cout << endl;
			}
			else
			{
				cout << ' ';
			}
			v = 0;
		}
	}
	return 0;
}
int main()
{
      int x1,y1,x2,y2,i,j,t,m,n;
      int a[200][200],b[200][200],c[200][200];
      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++)
          {
            c[i][j]=0;
            for(t=0;t<y1;t++)
              c[i][j]=c[i][j]+a[i][t]*b[t][j];
              if(j!=y2-1)
              printf("%d ",c[i][j]);
              else printf("%d\n",c[i][j]);
          }
        }
    return 0; 
}
int main()
{
	int i,j,k,l,n,m,n2,m2;
	int a[100][100],b[100][100],c[100][100];
	cin >> m >> n;
	for(i=0;i<m;i++)
		for(j=0;j<n;j++)
			cin >> a[i][j];
	cin >> m2 >> n2;
	for(i=0;i<m2;i++)
		for(j=0;j<n2;j++)
			cin >> b[i][j];
	for(i=0;i<m;i++)
		for(j=0;j<n2;j++)
		{
			c[i][j]=0;
			for(k=0;k<n;k++)
				c[i][j]+=a[i][k]*b[k][j];
			if (j!=n2-1) cout << c[i][j] << ' ';
			else cout << c[i][j] << endl;
		}

}
int main()
{
	int a[100][100]={{0},{0}};
	int b[100][100]={{0},{0}};
	int c[100][100]={{0},{0}};
	int x1,y1,x2,y2;
	scanf("%d %d",&x1,&y1);
	for(int i=0;i<x1;i++)
	    for(int j=0;j<y1;j++)
	        scanf("%d",&a[i][j]);
	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 h=0;h<y1;h++)
	            c[i][j]+=a[i][h]*b[h][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 x1,y1,i=0,j=0,k=0;
	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];
	int x2,y2;
	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<y1; k++)
				c[i][j]+= a[i][k]*b[k][j]; 
			cout<<c[i][j];
			if (j<y2-1)
				cout<<" ";
			else
				cout<<endl;
		}	
	return 0;
}
int main()
{
	int a1,a2,b1,b2,c1,c2;
	int a[100][100],b[100][100],c[100][100]={{0,0}};
	scanf("%d %d",&a1,&a2);
	for (int n=0;n<a1;n++)
	{
		for(int i=0;i<a2;i++) scanf("%d",&a[n][i]);
	}
	scanf("%d %d",&b1,&b2);
	for (int n=0;n<b1;n++)
	{
		for(int i=0;i<b2;i++) scanf("%d",&b[n][i]);
	}
	for (int n=0;n<a1;n++)
	{
		for(int i=0;i<b2;i++)
		{
			for(int j=0;j<a2;j++)
			{
				c[n][i]+=a[n][j]*b[j][i];
			}
		}
	}
	for (int n=0;n<a1;n++)
	{
		printf("%d",c[n][0]);
		if(b2==1) printf("\n");
		for (int i=1;i<b2;i++)
		{
			printf(" %d",c[n][i]);
			if(i==b2-1) printf("\n");
		}
	}
	return 0;
}
int main()
{
    int x1,y1,x2,y2;
    int i,j,k,t;
    int count=0;
    int a[100][100];
    int b[100][100];
    int c[100][100];
    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++)
            {
                t=a[i][k]*b[k][j];
                c[i][j]+=t;
            }
    for(i=0;i<x1;i++)
        for(j=0;j<y2;j++)
        {
            printf("%d",c[i][j]);
            count++;
            if(count%y2!=0)
                printf(" ");
            else
                printf("\n");
        }
}
int main() {
   int x1,y1,x2,y2;
    int **a, **b, **c;
    int i,j,k;
    scanf("%d%d", &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");
        scanf("%d%d", &x2, &y2);
    if(y1 != x2) {
                for(i=0;i<x1;++i) {
           free(a[i]);
        }
        free(a);
        return 0;
    }
      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) {
        for(j=0;j<y2-1;++j) {
            printf("%d ", c[i][j]);    
        }
        printf("%d\n",c[i][y2-1]);
    }
    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()
{ 
 
  int k=0;   //??3????k,i,W
  int i=0; 
  int W=0;
  int Xa=0;  //????2?????????
  int Xb=0;
  int Ya=0;
  int Yb=0;
  int a[100][100]={0};   //??3???
  int b[100][100]={0};
  int c[100][100]={0};
     cin>>Xa>>Ya;            
         for(i=0;i<Xa;i++)  //??a?????
              {  for (k=0;k<Ya;k++)
                  {cin>>a[i][k];
                  }
              }
     cin>>Xb>>Yb;
         for (i=0;i<Xb;i++)
              {  for (k=0;k<Yb;k++)
                 {cin>>b[i][k];
                 }
              }
     for (i=0;i<Xa;i++)    //??c?????
          { for (k=0;k<Yb;k++)
              {  for (W=0;W<Xb;W++)
                   {c[i][k]=c[i][k]+a[i][W]*b[W][k];}
              }
          }
       for (i=0;i<Xa;i++)      //??c??
          {for (k=0;k<Yb;k++)
             {  
                if (k==Yb-1)      
                  {cout<<c[i][k]<<endl;}
                else 
                  {cout<<c[i][k]<<" ";}
             }
          }
       
return 0;
}
int main()
{
	int a[111][111],b[111][111],c[111][111]={0},i,j,m,n,ax,ay,bx,by;
	scanf("%d%d",&ax,&ay);
	for(i=1;i<=ax;i++)
		for(j=1;j<=ay;j++)
		{
			scanf("%d",&a[i][j]);
		}
	scanf("%d%d",&bx,&by);
	for(i=1;i<=bx;i++)
		for(j=1;j<=by;j++)
		{
			scanf("%d",&b[i][j]);
		}
		for(m=1;m<=ax;m++)
			for(n=1;n<=by;n++)
		     for(i=1;i<=ay;i++)
			c[m][n]+=a[m][i]*b[i][n];
	for(m=1;m<=ax;m++)
	{
		printf("%d",c[m][1]);
		for(n=2;n<=by;n++)
		printf(" %d",c[m][n]);
                  printf("\n");
	}
	return 0;
}
int main()
{
   int i,j,k,s,x1,y1,x2,y2,a[100][100],b[100][100];
	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++)
		{
			s=0;
			for (k=0;k<y1;k++)
			{
				s=s+a[i][k]*b[k][j];
			}
			printf("%d",s);
			if (j+1<y2) printf(" ");
		}
		if (i+1<x1) printf("\n");
	}
    return 0;
}
//****************************************************
// file: 4.cpp
// description: ????
// author? ?? 1200012858
// date? 2012-11-8
//****************************************************
int main ()
{
	int x1, y1, x2, y2, i, j, m, n, t;
	int a[100][100], b[100][100], 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 (m = 0; m < x2; m++)
	{	
		for (n = 0; n < y2; n++)
		{
			cin >> b[m][n];
	    }
	}
	for (i = 0; i < x1; i++)
	{	
		for (j = 0; j < y2; j++)
		{
			for (t = 0; t < x2; t++)
			{
				c[i][j] = c[i][j] + a[i][t] * b[t][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,i,j,k;
    int a[101][101];
    int b[101][101];
    int c[101][101];
    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(k=1;k<=y1;k++)
            c[i][j]=c[i][j]+a[i][k]*b[k][j];
        }
    }
    for(i=1;i<=x1;i++)
    {
        for(j=1;j<=y2-1;j++)
        printf("%d ",c[i][j]);
        printf("%d\n",c[i][y2]);
    }
    return 0;
}
main()
{
int x1,y1,x2,y2;
scanf("%d %d",&x1,&y1);
int a[101][101];
int i,j;
for(i=0;i<x1;i++)
{
 for(j=0;j<y1;j++)
 {
 scanf("%d",&a[i][j]);
 }
}
scanf("%d %d",&x2,&y2);
int b[101][101];

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

int c[101][101];
int q;
for(i=0;i<x1;i++)
{
 for(j=0;j<y2;j++)
 {
  c[i][j]=0;
  for(q=0;q<y1;q++)
  {
   c[i][j]=c[i][j]+a[i][q]*b[q][j];
  }
 }
}  
 for(i=0;i<x1;i++)               //???????????c[][]???????????????????c[][]??????? 
  {
   if(y2==1) printf("%d\n",c[i][0]);
   else
   {for(j=0;j<y2;j++)
   {
    if(j==0) printf("%d",c[i][j]);
    else if(j==y2-1) printf(" %d\n",c[i][j]);
    else printf(" %d",c[i][j]);
   }}
  }

getchar();
getchar();
}
/*
???????
?????? 1200012921
???2012.11.8
*/

int main()
{
	int x1, y1, x2, y2, a[101][101], b[101][101], c[101][101] = {0}, i, j, t;
	cin >> x1 >> y1;
	for (i = 1; i <= x1; i++)        //??a??
		for (j = 1; j <= y1; j++)
		{
			cin >> a[i][j];
		}
	cin >> x2 >> y2;
	for (i = 1; i <= x2; i++)        //??b??
		for (j = 1; j <= y2; j++)
		{
			cin >> b[i][j];
		}
	for (i = 1; i <= x1; i++)        //???????
		for (j = 1; j <= y2; j++)
			for (t = 1; t <= y1; t++)
			{
				c[i][j] = c[i][j] + a[i][t] * b[t][j];
			}
	for (i = 1; i <= x1; i++)       //????
		for (j = 1; j <= y2; j++)
		{
			if (j != y2)            //????????????????
				cout << c[i][j] << " ";
			else
				cout << c[i][j] << endl;
		}
	return 0;
}
int main(){
	int xa,ya,xb,yb;
	cin>>xa>>ya;
	int a[xa][ya];
	for(int i=0;i<xa;i++){
		for(int j=0;j<ya;j++){
			cin>>a[i][j];
		}
	}
	cin>>xb>>yb;
	int b[xb][yb];
	for(int i=0;i<xb;i++){
		for(int j=0;j<yb;j++){
			cin>>b[i][j];
		}
	}
	
	int c[xa][yb];
	for(int i=0;i<xa;i++){
		for(int j=0;j<yb;j++){
			c[i][j]=0;
			for(int k=0;k<xb;k++){
				c[i][j]=a[i][k]*b[k][j]+c[i][j];
			}
		}
	}
	
	for(int i=0;i<xa;i++){
		cout<<c[i][0];
		for(int j=1;j<yb;j++){
			cout<<" "<<c[i][j];
		}
		cout<<endl;
	}
}
int main()
{
	int x1,y1,x2,y2,a[100][100],b[100][100],c[100][100]={{0}},i,j,k,n,m;
	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(n=0,m=0;m<y1;n++,m++) c[i][j]=c[i][j]+a[i][n]*b[m][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];
		}
	        cout<<endl;
	}

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

				return 0;
}