semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
/*
 * 1.cpp
 *
 *  Created on: 2010-11-20
 *      Author: jsgl
 *      ??? ?????
 */


int main(){//?????
    int a[101][101],b[101][101],i,n,m,j[101][101],k,c,d,x;//????
    cin>>n;//????a???
    cin>>m;//????a???
    for(i=0;i<n;i++)
    	for(k=0;k<m;k++)
    		cin>>a[i][k];//????a
    cin>>c;//????b???
    cin>>d;//????b???
    for(i=0;i<c;i++)
       for(k=0;k<d;k++)
        cin>>b[i][k];//????b

    for(i=0;i<101;i++)
       for(k=0;k<101;k++)
    	   j[i][k]=0;//???j?????0
    for(i=0;i<n;i++)
        for(k=0;k<d;k++){
        	for(x=0;x<=c;x++)
        	j[i][k]=a[i][x]*b[x][k]+j[i][k];//????c???????
        }
    for(i=0;i<n;i++){
        for(k=0;k<d-1;k++)
        	cout<<j[i][k]<<" ";
        cout<<j[i][k]<<endl;}//????c
	return 0;//????
}
int main()
{
   int x1,y1,x2,y2,a[100][100],b[100][100],c[100][100],i,j,k,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-1;j++)
	   {
		   for(k=0;k<x2;k++)
			   c[i][j]=c[i][j]+a[i][k]*b[k][j];
		   cout<<c[i][j]<<" ";
	   }
	   for(m=0;m<x2;m++)
		   c[i][y2-1]=c[i][y2-1]+a[i][m]*b[m][y2-1];
	   cout<<c[i][y2-1]<<endl;
   }
    return 0;
}
int c[1000][1000]={0};
int main(int argc, char* argv[])
{   int i,j,k;
    int a[200][200];
 int b[200][200];
 int 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++)
     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-1;j++)
    printf("%d ",c[i][j]);
    printf("%d\n",c[i][y2-1]);
    }
 return 0;
}
int main ()
{
	int x1,x2, y1, y2, i, j,k ;
	int str1[100][100], str2[100][100], str3[100][100];

	cin >> x1 >>y1;
	for( i = 0; i < x1; i ++)
	{
		for( j = 0; j < y1; j ++)
		{
			cin >> str1[i][j];
		}
	}
	i = 0;
	j = 0;
	cin >> x2 >> y2;
    for( i = 0; i < x2; i ++)
	{
		for( j = 0; j < y2; j ++)
		{
			cin >> str2[i][j];
		}
	}
	i = 0;
	j = 0;
    str3[0][0] = 0;
    for( i = 0; i < x1; i ++)
	{
		for( j = 0; j < y2; j ++)
		{
			for(k =0; k < y1; k ++)
			{
		     str3[i][j] = str1[i][k]* str2[k][j] + str3[i][j];
			}
		}
	}
	i = 0;
	j = 0;
	for( i=0; i < x1; i ++)
	{
		for ( j = 0; j < y2; j ++)
		{
			if(j == y2 - 1)
			{
				cout << str3[i][j] << endl;
			}
			else
				cout << str3[i][j] <<" ";
		}
	}
	return 0;
}
int main()
{
 int x1,y1,x2,y2,i,r,m,a[100][100],b[100][100],c[100][100];
 scanf("%d%d",&x1,&y1);
 for(i=0;i<x1;i++)
 {
  for(r=0;r<y1;r++)
  scanf("%d",&a[i][r]);
 }
 scanf("%d%d",&x2,&y2);
 for(i=0;i<x2;i++)
 {
  for(r=0;r<y2;r++)
  scanf("%d",&b[i][r]);
 }
 for(i=0;i<x1;i++)
 {
  for(r=0;r<y2;r++)
  {
  	c[i][r]=0;
  	for(m=0;m<x2;m++)
  	{
  	 c[i][r]+=a[i][m]*b[m][r];
  	}
  }
 }
 for(i=0;i<x1;i++)
 {
 	for(r=0;r<y2;r++)
 	{
 	 if(r==y2-1)
 	 printf("%d\n",c[i][r]);
 	 else
 	 printf("%d ",c[i][r]);
 	}
 }
 return 0;
}
int main()
{
    int i,m,d;
    int x1,y1;
    scanf("%d %d\n",&x1,&y1);
    int a[1000][1000];
    for(i=1;i<=x1;i++)
    {
         for(m=1;m<=y1;m++)
         {
              scanf("%d",&a[i][m]);
         }
    }
     int x2,y2;
    scanf("%d %d\n",&x2,&y2);
    int b[1000][1000];
    for(i=1;i<=x2;i++)
    {
         for(m=1;m<=y2;m++)
         {
              scanf("%d",&b[i][m]);
         }
    }
    int c[1000][1000];
    for(i=1;i<=x1;i++)
    {
         for(m=1;m<=y2;m++)
         {
              c[i][m]=0;
              for(d=1;d<=y1;d++)
              {
                  c[i][m]=a[i][d]*b[d][m]+c[i][m];
                  if(d==y1){
                  if(m==y2)printf("%d\n",c[i][m]);
                  else printf("%d ",c[i][m]);}
              }
         }
    }
    return 0;
}
int main(void)
{
	int a[100][100],b[100][100],c[100][100];
	int i,j,k,x1,y1,x2,y2;
	cin>>x1>>y1;
	for(i=0;i<x1;i++)
		for(j=0;j<y1;j++)
			cin>>a[i][j];//????a
	cin>>x2>>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++)
			for(k=0;k<y1;k++)
				c[i][j]+=a[i][k]*b[k][j];//?????c??????
	for(i=0;i<x1;i++){
		for(j=0;j<y2-1;j++)
			cout<<c[i][j]<<" ";
	        cout<<c[i][y2-1]<<endl;}//??c??
	return 0;
}
int main()
{
	int x1, y1, x2, y2;
	int i, j, a = 0, t = 1;
	int matrix1[101][101], matrix2[101][101], matrix3[101][101];
	memset(matrix3, 0, sizeof(matrix3));
	cin >> x1 >> y1;
	for (i = 1; i <= x1; i++)
		for (j = 1; j <= y1; j++)
		{
			cin >> matrix1[i][j];
		}
	cin >> x2 >> y2;
	for (i = 1; i <= x2; i++)
		for (j = 1; j <= y2; j++)
		{
			cin >> matrix2[i][j];
		}
	for (i = 1; i <= x1; i++)
		for (j = 1; j <= y2; j++)
		{
			for (a = 1; a <= y1; a++)
			{
				matrix3[i][j] = matrix3[i][j] + matrix1[i][t] * matrix2[t][j];
				t = t + 1;
			}
			if (j != y2)
				cout << matrix3[i][j] << " ";
			else
				cout << matrix3[i][j] << endl;
			t = 1;
		}
	return 0;
}
int main()
{
    int x1,y1,x2,y2,i,j,k,s;
    int a[100][100]={0};
    int b[100][100]={0};
    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++)
     {
      s=0;
      for(k=0;k<y1;k++)
      s=s+a[i][k]*b[k][j];
      c[i][j]=s;
      }
     }
    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]);
     }
}
main()
{
    int m,n,q,i,j,k;
    int a[101][101]={0};
    int b[101][101]={0};
    int c[101][101]={0};
    scanf("%d %d",&m,&q);
    for(i=0;i<=m-1;i++)
    {
       for(j=0;j<=q-1;j++)
       {
           scanf("%d",&a[i][j]);
       }
    }
    scanf("%d %d",&q,&n);
    for(i=0;i<=q-1;i++)
    {
       for(j=0;j<=n-1;j++)
       {
           scanf("%d",&b[i][j]);
       }
    }
    for(i=0;i<=m-1;i++)
    {
       for(j=0;j<=n-1;j++)
       {
           for(k=0;k<=q;k++)
           c[i][j]=a[i][k]*b[k][j]+c[i][j];
       }
    }
    for(i=0;i<=m-1;i++)
    {
       for(j=0;j<=n-1;j++)
       {
           if(j!=n-1) printf("%d ",c[i][j]);
           else printf("%d\n",c[i][j]);
       }
    }
    getchar();
    getchar();
}
int main()
{
	int a[100][100],b[100][100],c[100][100];
	int i,j,ah,al,bh,bl,k,t;
	for(i=0;i<100;i++)
	{
		for(j=0;j<100;j++)
			c[i][j]=0;
	}
	cin>>ah>>al;
	for(i=0;i<ah;i++)
	{
		for(j=0;j<al;j++)
		{
			cin>>a[i][j];
		}
	}
	cin>>bh>>bl;
	for(i=0;i<bh;i++)
	{
		for(j=0;j<bl;j++)
		{
			cin>>b[i][j];
		}
	}
	for(i=0;i<ah;i++)
	{
		for(j=0;j<bl;j++)
		{
			for(t=0,k=0;k<al;k++)
			{
				t=t+a[i][k]*b[k][j];
			}
			c[i][j]=t;
		}
	}
	for(i=0;i<ah;i++)
	{
		cout<<c[i][0];
		for(j=1;j<bl;j++)
			cout<<" "<<c[i][j];
		cout<<endl;
	}
	return 0;
}
//********************************************
//*3ìDò?o&#190;&#216;&#213;ó3&#203;·¨                            *
//*D&#213;&#195;&#251;?oo&#206;&#212;&#198;&#198;e                              *
//*&#209;§o&#197;?o1300012888                          *
//*è&#213;&#198;ú?o2013.11.6                           * 
//********************************************

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

	return 0;
}
int main()
{
int x1,y1,x2,y2,i,j,k;
int a[100][100]={0};
int b[100][100]={0};
int c[100][100]={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++)   
                        {
                        c[i][j]=0;
                        }
}
                        /*&#190;&#216;&#213;ó3&#203;·¨?&#196;&#188;&#198;&#203;&#227;·&#189;·¨: 
&#182;&#212;óú&#190;&#216;&#213;óA[m][q]*B[q][n], 
&#207;à3&#203;?&#196;&#189;á1&#251;&#206;a&#190;&#216;&#213;óC[m][n]&#199;ò&#182;&#212;óú&#190;&#216;&#213;óC&#214;D&#195;&#191;ò&#187;&#207;&#238;&#182;&#188;óD 
C[i][j] = A[i][0]*B[0][j] + A[i][1]*B[1][j] + ..... + A[i][q]*B[q][j] 
*/  
for (i=0;i<=(x1-1);i++) 
{                       for (j=0;j<=(y2-1);j++)   
                        {
                            for (k=0;k<=(x2-1);k++)
                            {
                            c[i][j]=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 ",c[i][j]);
                        else printf("%d\n",c[i][j]);
                        }
}    
  
    
}
int main()
{
	int a[100][100]={0},b[100][100]={0},c[100][100]={0};//????
	int x1=0,y1=0,x2=0,y2=0;
	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<x2;k++)
				c[i][j]+=a[i][k]*b[k][j];
			if(j==y2-1)cout<<c[i][j];    //????c
			else cout<<c[i][j]<<" ";
		}
		cout<<endl;
	}
    return 0;
}
int main()
{
	int a[100][100],b[100][100];
	int m,q,n,i,j;
	scanf("%d %d",&m,&q);
	for(i=0;i<m;i++)
		for(j=0;j<q;j++)
			scanf("%d",&a[i][j]);
	
	scanf("%d %d",&q,&n);              //?????q???????!!!!????q???~ 
	for(i=0;i<q;i++)
		for(j=0;j<n;j++)
			scanf("%d",&b[i][j]);
			
	int c[100][100]={0},k;
	for(i=0;i<m;i++)
		for(j=0;j<n;j++)
			for(k=0;k<q;k++)
				c[i][j]=c[i][j]+a[i][k]*b[k][j];
	
	for(i=0;i<m;i++)
	{
		for(j=0;j<n;j++)
		{
			if(j!=n-1)
				printf("%d ",c[i][j]);
			else
				printf("%d\n",c[i][j]);
		}
	}
	return 0;
}
main()
{
      int x1,x2,y1,y2,m,n;
      int k=0;
      int a[100][100],b[100][100],c[100][100];
      scanf("%d %d",&x1,&y1);
      for(int i=0;i<=x1-1;i++)
      {
              for(int j=0;j<=y1-1;j++)
              {
                      scanf("%d",&a[i][j]);
              }
      }
      scanf("%d %d",&x2,&y2);
      for(int i=0;i<=x2-1;i++)
      {
              for(int j=0;j<=y2-1;j++)
              {
                      scanf("%d",&b[i][j]);
              }
      }
      for(m=0;m<=x1-1;m++)
      {
                          for(n=0;n<=y2-1;n++)
                          {
                                              for(int i=0;i<=x2-1;i++)
                                              {
                                                      c[m][n]=k+(a[m][i])*(b[i][n]);
                                                      k=c[m][n];
                                              }
                                              k=0;
                          }
      }
      for(int i=0;i<=x1-1;i++)
      {
              for(int j=0;j<=y2-2;j++)
              {
                      printf("%d ",c[i][j]);
              }
              printf("%d\n",c[i][y2-1]);
      }
}
int main()
{
    int a[101][101], b[101][101], i, j, h, l, c[101][101], x1, y1, x2, y2;
    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(h=1,l=1; l<=y1; l++,h++)
              {
                c[i][j]=c[i][j]+a[i][l]*b[h][j];
              }
          }
      }
    for(i=1; i<=x1; i++)
      {
        for(j=1; j<=y2; j++)
          {
            cout<<c[i][j];
            if(j<y2)
              cout<<" ";
            else
              cout<<endl;     
          }
      }
    int f;cin>>f;
    return 0;
                 
                 
                 
}
int main()
{
	int m,n,q,i,j,k,a[101][101],b[101][101],c[101][101]={0};
	cin>>m>>q;
	for(i=1;i<=m;i++)
	{
		for(j=1;j<=q;j++)
		{
			cin>>a[i][j];
		}
	}
	cin>>q>>n;
	for(i=1;i<=q;i++)
	{
		for(j=1;j<=n;j++)
		{
			cin>>b[i][j];
		}
	}
	for(i=1;i<=m;i++)
	{
		for(j=1;j<=n;j++)
		{
			for(k=1;k<=q;k++)
			{
				c[i][j]+=a[i][k]*b[k][j];
			}
			if(j==1)
				printf("\n%d",c[i][j]);
			else
				printf(" %d",c[i][j]);
		}
	}
	return 0;
}
main()
{
    long  int a[100][100];
    long  int b[100][100];
    long  int c[100][100]={0};
    int i,j,k;
    int 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++)  
        {    
             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("%ld",c[i][j]);
                        
            }
            else
            {
            printf(" %ld",c[i][j]);
             
            }
            if(j==(y2-1))
            printf("\n");
              
        }           
    }
    getchar();
    getchar();
}
int main()
{
    int a1,b1,a2,b2;
    scanf("%d %d",&a1,&b1);                  //?????a1?????
    int **p=(int **)malloc(a1*sizeof(int *));
    for(int i1=0;i1<=a1-1;i1++)
    {
        p[i1]=(int *)malloc(b1*sizeof(int)); //????????????????
    }
    int i3;
    for(int i2=0;i2<=a1-1;i2++)
    {
        for(i3=0;i3<=b1-1;i3++)
        {
            scanf("%d",&p[i2][i3]);    //????A
        }
    }                             
    scanf("%d %d",&a2,&b2);                 //?????a2?????
    int **q=(int **)malloc(a2*sizeof(int *));
    for(int j1=0;j1<=a2-1;j1++)
    {
        q[j1]=(int *)malloc(b2*sizeof(int)); //????????????????
    }
    int j3;
    for(int j2=0;j2<=a2-1;j2++)
    {
        for(j3=0;j3<=b2-1;j3++)
        {
            scanf("%d",&q[j2][j3]);    //????B
        }
    }
    int **r=(int **)malloc(a1*sizeof(int *)); //?????????C 
    for(int k=0;k<=a1-1;k++) 
    {
        r[k]=(int *)malloc(b2*sizeof(int));
    }
    int z,y,x;                           //????
    for(z=0;z<=a1-1;z++)
    {
        for(y=0;y<=b2-1;y++)                            
        {
            r[z][y]=0;
            for(x=0;x<=a2-1;x++)
            {
                r[z][y]=r[z][y]+(p[z][x])*(q[x][y]);
            }
        }
    }
    int v;                            //???? 
    for(int w=0;w<=a1-1;w++)
    {
            for(v=0;v<=b2-2;v++)
            {
                printf("%d ",r[w][v]);
            }
            if(v==b2-1)
            {
                printf("%d",r[w][v]);
            } 
            printf("\n");
    } 

}
int main(void)
{
	int *a=NULL,*b=NULL,*c=NULL;
	int x1=0,x2=0,y1=0,y2=0;
	scanf("%d %d",&x1,&y1);
	a=(int *)malloc(x1*y1*sizeof(int));
	for(int i=0;i<x1;i++)
	{
		for(int j=0;j<y1;j++)
		{
			scanf("%d",&a[i*y1+j]);
		}
	}
    scanf("%d %d",&x2,&y2);
	b=(int *)malloc(x2*y2*sizeof(int));
	
	for(int i=0;i<x2;i++)
	{
		for(int j=0;j<y2;j++)
		{
			scanf("%d",&b[i*y2+j]);
		}
	}
    c=(int *)malloc(x1*y2*sizeof(int));
		int sum=0;
      for(int i=0;i<x1;i++)
	{
		for (int j=0;j<y2;j++)
		{
			sum=0;						
			for(int k=0;k<y1;k++)
			{
				sum=sum+a[i*y1+k]*b[k*y2+j];
			}
			c[i*y2+j]=sum;
		}
	}								  
      for(int i=0;i<x1;i++)
	{
		int j;
		for(j=0;j<y2-1;j++)
		{
			printf("%d ",c[i*y2+j]);
		}
		printf("%d",c[i*y2+j]);
		printf("\n");
	}
   }
main()
{
 int x1,x2,y1,y2,i,j,k,m,n;
 scanf("%d %d",&x1,&y1);
 int s[x1][y1];
 for(i=0;i<x1;i++)
   {
     for(j=0;j<y1;j++)
       scanf("%d",&s[i][j]);
   }
 scanf("%d %d",&x2,&y2);
 int t[x2][y2];
 for(i=0;i<x2;i++)
   {
     for(j=0;j<y2;j++)
       scanf("%d",&t[i][j]);
   }
 int r[x1][y2];
 for(i=0;i<x1;i++)
   {
     for(j=0;j<y2;j++)   
       {
         r[i][j]=0;
         for(k=0;k<y1;k++)
             r[i][j]=r[i][j]+s[i][k]*t[k][j];
       }
   }
 for(i=0;i<x1;i++)
   {
     printf("%d",r[i][0]);
     for(j=1;j<y2;j++)
       printf(" %d",r[i][j]);         
     printf("\n");
   } 
}
main()
{int a[100][100]={0},b[100][100]={0},c[100][100]={0},i,o,q,j,k,J,K,v,w,m,p,n;
 scanf("%d %d",&m,&p);
 for(j=0;j<m;j++)
  {for(k=0;k<p;k++)
     scanf("%d",&a[j][k]);}
     
 scanf("%d %d",&p,&n) ;
 for(J=0;J<p;J++)
  {for(K=0;K<n;K++)
     scanf("%d",&b[J][K]);}
for(i=0;i<m;i++)
{for(o=0;o<n;o++)
 {for(q=0;q<p;q++)
 c[i][o]=c[i][o]+a[i][q]*b[q][o];}}   
 for(v=0;v<m;v++)
 {for(w=0;w<n-1;w++)
   printf("%d ",c[v][w]);
  if(w==n-1)
  printf("%d\n",c[v][w]);}
    
      }
//********************************
//*?????? 1300012733 **
//*???2013.11.9  **
//********************************
int main()
{
	int x1,y1,x2,y2;
	int a[109][109],b[109][109],c[109][109]={0};
	cin >> x1 >> y1;
	for(int i = 1; i <= x1; i++)
		for( int j = 1; j <= y1; j++)
			cin >> a[i][j];
	cin >> x2 >> y2;
	for(int i = 1; i <= x2; i++)
		for( int j = 1; j <= y2; j++)
			cin >> b[i][j];
	for(int i = 1; i <= x1; i++)
		for( int j = 1; j <= y2; j++)
		{
			for( int v = 1; v <= y1 ; v++ )
				c[i][j] = c[i][j] + a[i][v] * b[v][j];
		}
	for(int i = 1; i <= x1; i++)
	{
		cout << c[i][1];
		for( int j = 2; j <= y2; j++)
		cout << ' ' << c[i][j];
		cout<< endl;
	}
	return 0;
}
int main()
{
 int i,j,k;
 int m,q;
 cin>>m>>q;
 int a[m][q];
 for(i=0;i<m;i++)
 {
  {
   for(j=0;j<q;j++)
   cin>>a[i][j];
  }
 }
 int n,p;
 cin>>n>>p;
 int b[n][p];
 for(i=0;i<n;i++)
 {
    {
     for(j=0;j<p;j++)
     cin>>b[i][j];
    }
 }
 int c[m][p];
  for(k=0;k<p;k++)
  {
      for(j=0;j<m;j++)
       {
        c[j][k]=0;
        for(i=0;i<q;i++)
        {
         c[j][k]=c[j][k]+a[j][i]*b[i][k];
        }
       }
  }
  for(i=0;i<m;i++)
  {
    for(j=0;j<p-1;j++)
    {
     cout<<c[i][j]<<" ";
    }
      cout<<c[i][p-1];
      cout<<endl;
  }
    cin.get();cin.get();cin.get();
return 0;
}
int main(int argc, char *argv[])
{
  int m,n,p,q,sum=0,i,j,k,ii,jj;
  int a[100][100],b[100][100],c[100][100];
  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",&p,&q);
  for(i=0;i<p;i++)
  {
    for(j=0;j<q;j++)scanf("%d",&b[i][j]);            
  }/*input*/
  
  for(i=0;i<m;i++)
  {
    for(j=0;j<q;j++)
    {
       for(ii=0;ii<n;ii++)
       {
         sum=sum+(a[i][ii]*b[ii][j]);                   
       }              
       c[i][j]=sum;
       sum=0; 
    }                
  }/*mluti*/
  
  for(i=0;i<m;i++)
  {
    for(j=0;j<q-1;j++)
    {
      printf("%d ",c[i][j]);                  
    }
    printf("%d\n",c[i][q-1]);                  
  }
  
 
  	
  return 0;
}
//********************************
//*???3.cpp   **
//*???????    **
//*?????? 1300012838 **
//*???2013.11.1  **
//********************************

int main()
{ 
    int x1, y1, x2, y2, a[101][101], b[101][101], c[101][101];
    cin >> x1 >> y1;
    for (int i = 1; i <= x1; i++)
        for (int j = 1; j <= y1; j++)
            cin >> a[i][j];
    cin >> x2 >> y2;
    for (int i = 1; i <= x2; i++)
        for (int j = 1; j <= y2; j++)
            cin >> b[i][j];
    for (int i = 1; i <= x1; i++)
    {
        for (int j = 1; j <= y2; j++)
        {
            c[i][j] = 0;
            for (int k = 1; k <= x2; k++)
                c[i][j] += a[i][k] * b[k][j];
            if (j == 1)
                cout << c[i][j];
            else
                cout << " " << c[i][j];
        } 
        cout << endl;
    }


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

		
	return 0;
	
}
int main()
{
    int x[3],y[3],a[150][150],b[150][150],c[150][150],i=0,j=0,k=0;
    cin>>x[1]>>y[1];
    for(i=1;i<=x[1];i++)
    {
       for(j=1;j<=y[1];j++)
       {
          cin>>a[i][j];
       }
    }
    cin>>x[2]>>y[2];
    for(i=1;i<=x[2];i++)
    {
       for(j=1;j<=y[2];j++)
       {
          cin>>b[i][j];
       }
    }
    for(i=1;i<=x[1];i++)
    {
       for(j=1;j<=y[2];j++)
       {
          c[i][j]=0;
          for(k=1;k<=y[1];k++)
          {
             c[i][j]+=a[i][k]*b[k][j];
          }
       }
    }
    for(i=1;i<=x[1];i++)
    {
       for(j=1;j<y[2];j++)
       {
          cout<<c[i][j]<<" ";
       }
       cout<<c[i][y[2]]<<endl;
    }
    return 0;
}
/*
 * 05.cpp
 *
 *  Created on: 2010-11-20
 *      Author: jsgl
 */
int main()
{
	int x1,y1;
	cin>>x1>>y1;
	int a[x1][y1];//????a
	int i,j;
	for(i=0;i<x1;i++)
	{
		for(j=0;j<y1;j++)
		{
			cin>>a[i][j];//??????a
		}
	}
	int x2,y2;
	cin>>x2>>y2;
	int b[x2][y2];//????b
	for(i=0;i<x2;i++)
	{
		for(j=0;j<y2;j++)
		{
			cin>>b[i][j];//????b
		}
	}
	int c[x1][y2];
	int k;
	for(i=0;i<x1;i++)
	{
		for(j=0;j<y2;j++)
		{
			int sum=0;
			for(k=0;k<y1;k++)
			{
				sum=sum+a[i][k]*b[k][j];//????
			}
			c[i][j]=sum;//??????????c?
		}
	}
	for(i=0;i<x1;i++)
	{
		cout<<c[i][0];
		for(j=1;j<y2;j++)
		{
			cout<<" "<<c[i][j];//????c
		}
		cout<<endl;
	}
	return 0;
}
int main()
{
    int a[110][110], b[110][110], c[110][110];
    int i, j, k, x1, x2, y1, y2;
    memset(a, 0, sizeof(a));
    memset(b, 0, sizeof(b));
    memset(c, 0, sizeof(c));
    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]);
            }
        }
    }
    for(i=1; i<=x1; i++)
    {
        for(j=1; j<y2; j++)
        {
            printf("%d ", c[i][j]);
        }
        printf("%d\n", c[i][y2]);
    }
    return 0;
}
void main()
{
    int *a,*b,*c,x1,x2,y1,y2,i,j,m,q;
    a=(int *)malloc(100*100*sizeof(int));
    b=(int *)malloc(100*100*sizeof(int));
    c=(int *)malloc(100*100*sizeof(int));
    scanf("%d %d",&x1,&y1);
    for(i=0;i<x1;i++)
    for(j=0;j<y1;j++)
    scanf("%d",(a+y1*i+j));
    scanf("%d %d",&x2,&y2);
    for(i=0;i<x2;i++)
    for(j=0;j<y2;j++)
    scanf("%d",(b+i*y2+j));
    m=x2<=y1?x2:y1;
    for(i=0;i<x1;i++)
    for(j=0;j<y2;j++)
    for(q=0;q<m;q++)
    {
        if(q==0)*(c+i*y2+j)=0;
        *(c+i*y2+j)+=*(a+y1*i+q)**(b+q*y2+j);   
    }
    for(i=0;i<x1-1;i++)
    {
        for(j=0;j<y2-1;j++)
        printf("%d ",*c++);
        printf("%d\n",*c++);
    }
    for(j=0;j<y2-1;j++)
    printf("%d ",*c++);
    printf("%d",*c);
}