semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main()
{
      int x1,x2,y1,y2,i,j;
      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(int k=0;k<x2;k++)
                               c[i][j]=c[i][j]+a[i][k]*b[k][j];
                       }
      }
      int n=0;
      for(i=0;i<x1;i++)
      {
                for(j=0;j<y2;j++)
                {
                       if(j==0)
                        {
                         printf("%d",c[i][0]);
                               n++;
                        }
                      if(j>=1)
                       {
                             printf(" %d",c[i][j]);
                             n++;
                        }
                         if(n%y2==0)
                         printf("\n");
                 }
   }
return 0;
}
int main()
{
	int a[100][100],b[100][100],c[100][100],x1,y1,x2,y2,i,j,k;
	for(i=0;i<100;i++)
		for(j=0;j<100;j++)
			a[i][j]=0,b[i][j]=0,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<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++)
		{
			if(j!=0)
				cout<<' '<<c[i][j];
			else
				cout<<c[i][j];
		}
		cout<<endl;
	}
	return 0;}
//******************************************************************************************
//????????????????                                                         *
//????wayne                                                                            *
//?????10.27                                                                          *
//******************************************************************************************
int main()
{
    int a[101][101],b[101][101];   //??????
	int x1,y1,x2,y2,i,j,k,c;       
	cin>>x1>>y1;
	for (i=1;i<=x1;i++)          //????????????
	{for (j=1;j<=y1;j++)         //????????????
			cin>>a[i][j];        //?i??j????
	cout<<endl;}
	cin>>x2>>y2;
	for (i=1;i<=x2;i++)          //????????????
	{for (j=1;j<=y2;j++)         //????????????
			cin>>b[i][j];
	cout<<endl;}   
	for (i=1;i<=x1;i++)
		for (j=1;j<=y2;j++)
		{
			c=0;
	        for (k=1;k<=x2;k++)      
				c=c+a[i][k]*b[k][j]; //?????????????i??j????
			if (j<y2)  cout<<c<<" ";
			else cout<<c<<endl;      //???????
		}
	return 0;
}
main()
{
    int a[100][100],b[100][100],d[100][100],x1,y1,x2,y2,x3,y3,i,j,k;
    char e;
    
    scanf("%d %d",&x1,&y1);
    for(i=0;i<x1;i++)
    {
        for(j=0;j<y1;j++)
        {
            scanf("%d%c",&a[i][j],&e);
            if(e!=' ')
            break;
            else;
        }   
    } 
     
    scanf("%d %d",&x2,&y2);
    for(i=0;i<x2;i++)
    {
        for(j=0;j<y2;j++)
        {
           scanf("%d%c",&b[i][j],&e);
            if(e!=' ')
            break;
            else;
        }   
    }      
    
      x3=x1;
      y3=y2;
      //printf("%d\n",a[0][4]);
      for (i=0;i<x3;i++)
      {
          for (j=0;j<y3;j++)
          {
              d[i][j]=0;
              for (k=0;k<x2;k++)
              {
                  d[i][j]=d[i][j]+a[i][k]*b[k][j];
                  //printf("%d %d %d\n",k,i,j);
                  //printf("%d %d %d\n",a[i][k],b[k][j],e[i][j]);
                  //printf("%d",e[i][j]);
              }
          }
          
      }
      for (i=0;i<x3;i++)
      {
          for (j=0;j<y3-1;j++)
          {
              printf("%d ",d[i][j]);
          }
          printf("%d\n",d[i][y3-1]);
      }
      //printf("%d",e[0][1]);
      
}
int main()
{
	int a[101][101],b[101][101],c[101][101]={0},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-1;j++)
		{
			for(k=0;k<y1;k++)
				c[i][j]=c[i][j]+a[i][k]*b[k][j];
			printf("%d ",c[i][j]);
		}
		for(k=0;k<y1;k++)	c[i][y2-1]=c[i][y2-1]+a[i][k]*b[k][y2-1];
		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,i,j,k=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++)
				{
					c[i][j]=0;
					for(k=0;k<x2;k++)
						c[i][j]=c[i][j]+a[i][k]*b[k][j];
				}
				
     for(i=0;i<x1;i++)
	 {  	
         if(y2==1)  cout<<c[i][0]<<endl;
		 if(y2==2)   cout<<c[i][0]<<' '<<c[i][1]<<endl;

		 else if(y2>2)
		 {
			 cout<<c[i][0];
          for(j=1;j<y2-1;j++)
   
	       cout<<' '<<c[i][j];
	        cout<<' '<<c[i][y2-1]<<endl;
		 }
     }
   return 0;
}
//*************************************************
//***???????***
//***??????***
//***???2012.11.8***
//*************************************************
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] += a[i][k] * b[k][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;
}
void main()
{
	int a[100][100],b[100][100],c[100][100]={0},x1,x2,y1,y2,j,i,m,n;
  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(m=0;m<x1;m++)
  {  
	  for(n=0;n<y2;n++)
	  {
		  for(i=0;i<x2;i++)
			  c[m][n]=c[m][n]+a[m][i]*b[i][n];
	  }
  }
  for(m=0;m<x1;m++)
  {
	  for(n=0;n<y2-1;n++)
	  {printf("%d ",c[m][n]);}
	  printf("%d\n",c[m][n]);
  }
}
void  stubid(int x,int y,int z[150][150])
{
  for (int i=0;i<x;i++)
  {
    for (int j=0;j<y;j++)
       scanf ("%d",&z[i][j]); 
   }
}
int main()
{
  int a[150][150],b[150][150];
  int m,n,p,q,i,j,k;
  int z;
  scanf ("%d %d",&m,&n);
  stubid (m,n,a);
  scanf ("%d %d",&q,&p);
  stubid (n,p,b);
  for (i=0;i<m;i++)
   {
     for (j=0;j<p;j++)
      {
         z=0;
         for (k=0;k<n;k++)
            z=z+a[i][k]*b[k][j];
         if (j<p-1)
            printf ("%d ",z);
         else if (j==p-1&&i<m-1)
            printf ("%d\n",z);
         else
            printf ("%d",z);
       }
     }
    return 0;
}
int main(){
	int sx1,sy1,sx2,sy2,i,j,k;
	cin>>sx1>>sy1;
	const int x1=sx1,y1=sy1;
	int a[x1][y1];//a??????
	for(i=0;i<x1;i++)
		for(j=0;j<y1;j++)cin>>a[i][j];
	cin>>sx2>>sy2;
	const int x2=sx2,y2=sy2;
	int b[x2][y2];//b??????
	for(i=0;i<x2;i++)
		for(j=0;j<y2;j++)cin>>b[i][j];
	int c[x1][y2];//c?????
	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];//??c??
		}
	for(i=0;i<x1;i++)
		for(j=0;j<y2;j++){
			if(j==y2-1)cout<<c[i][j]<<endl;
			else cout<<c[i][j]<<' ';
		}

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



int main()
{
	int a[111][111] , b[111][111] , c[111][111];
	int x1 = 1 , x2 = 1 , y1 = 1 , y2 = 1 ;
	int i = 0 , j = 0 , r = 0 , sum = 0 ;
	//????a
	cin>>x1>>y1;
	for(i = 0 ; i<x1 ; i++)
	{
		for(j = 0 ; j<y1 ; j++)
		{
			cin>>a[i][j];
		}
	}
    //????b
	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++)
			{		sum = 0;
					for(r = 0 ; r<x2 ; r++)
					{
						sum = sum + a[i][r]*b[r][j];
				        c[i][j] = sum;
						
					}
			}
	}
	//????c??????????
	for(i = 0 ; i<x1 ; i++)
	{
		for(int j = 0 ; j<y2 ; j++)
		{
			cout<<c[i][j];
			if(j!=y2-1)
			{  cout<<" ";  }
			else
			{   cout<<endl;   }
		}
	}
	return 0 ;
}
main()
{
      int a[100][100],b[100][100],c[100][100];
      int x1,x2,y1,y2;
      int i,j,k;
      scanf ("%d %d",&x1,&y1);
      for (i=0;i<x1;i++)
      {
          for (j=0;j<y1;j++)
          scanf("%d",&a[i][j]);
      }
      scanf ("%d %d",&x2,&y2);
      for (i=0;i<x2;i++)
      {
          for (j=0;j<y2;j++)
          scanf ("%d",&b[i][j]);
      }
      for (i=0;i<x1;i++)
      {
          for (j=0;j<y2;j++)
          {
              c[i][j]=0;
              for (k=0;k<y1;k++)
              c[i][j]+=(a[i][k]*b[k][j]);
          }
      }
      if (y2==1)
      for (i=0;i<x1;i++)
      printf ("%d\n",c[i][0]);
      else
      {
          for (i=0;i<x1;i++)
          {
              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]);
              }
          }
      }
}
int main()
{
	int i, j, x1, y1, x2, y2, a[100][100], b[100][100], c[100][100];
	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];
	if (y1 != x2)
	{
		cout << "Input error";
		return 0;
	}
	for (i = 0; i < x1; i ++)
		for (j = 0; j < y2; j ++)
		{
			int sum = 0;
			for (int k = 0; k < y1; k ++)
				sum += a[i][k] * b[k][j];
			c[i][j] = sum;
		}
	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,x2,y1,y2,i,j,k,m;
 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[x1][y2];
 k=x2-1;
 for (i=0;i<x1;i++)
 for (j=0;j<y2;j++)
 {
 	c[i][j]=0;
	 for (m=0;m<=k;m++)
 	{
	 	c[i][j]+=a[i][m]*b[m][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;
    scanf("%d %d",&x1,&y1);
    int **a;
    a=(int **)malloc(x1*sizeof(int *));
    for(int i=0;i<x1;i++)
    {
        a[i]=(int *)malloc(y1*sizeof(int));    
    }
    for(int i=0;i<=x1-1;i++)
    {
        for(int j=0;j<=y1-1;j++)
        {
            scanf("%d",&a[i][j]);    
        }    
    }
    int x2,y2;
    scanf("%d %d",&x2,&y2);
    int **b;
    b=(int **)malloc(x2*sizeof(int *));
    for(int i=0;i<x2;i++)
    {
        b[i]=(int *)malloc(y2*sizeof(int));    
    }
    for(int k=0;k<=x2-1;k++)
    {
        for(int l=0;l<=y2-1;l++)
        {
            scanf("%d",&b[k][l]);    
        }    
    }
    int **c;
    c=(int **)malloc(x1*sizeof(int *));
    for(int i=0;i<x1;i++)
    {
        c[i]=(int *)malloc(y2*sizeof(int));    
    }
    for(int m=0;m<=x1-1;m++)
    {  
        for(int n=0;n<=y2-1;n++)
        {
            c[m][n]=0;    
            for(int o=0;o<=x2-1;o++)
            {
                c[m][n]=c[m][n]+a[m][o]*b[o][n];   
            }        
        }    
    }
    for(int p=0;p<=x1-1;p++)
    {
        for(int q=0;q<=y2-2;q++)
        {
            printf("%d ",c[p][q]);    
        }    
        printf("%d\n",c[p][y2-1]);
    }
    for(int i=0;i<x1;i++)
    {
        free(a[i]);    
    }
    free(a);
    for(int i=0;i<x2;i++)
    {
        free(b[i]);    
    }
    free(b);
    for(int i=0;i<x1;i++)
    {
        free(c[i]);    
    }
    free(c);
    return 0;
}
///********************************
//*???????   **
//*?????? 1300012745 **
//*???2013.11.2  **
//********************************
int main()
{
	int a[100][100], b[100][100], c[100][100], x1, y1, x2, y2, i, j, l;
	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++)
		{
			c[i][j]=0;
			for (l = 0; l <= x2 - 1; l++)
			{
				c[i][j]+=a[i][l] * b[l][j];
			}
			if (j == 0)
				cout << c[i][j];
			else
				cout << " " << c[i][j];
		}
		cout << endl;
	}
	cin.get();cin.get();
	return 0;
}
//********************************
//*???????               **
//*??????                 **
//*???2012.11.5              **
//*******************************/


int main()
{
	int a[100][100], b[100][100], c[100][100] = {0};
	int x1, x2, y1, y2, i, j, k, l;
	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];
			cout << c[i][j];
			if ( j != y2 - 1)
				cout << " ";
			else 
				cout << endl;
		}
	}
	return 0;
}
int A[1000][1000],B[1000][1000],C[1000][1000]={0};
int hang,lie,tong,q,i,j;
main()
{
    //??
    scanf("%d %d",&hang,&tong);
    for(i=0;i<hang;i++)
    {
        for(q=0;q<tong;q++)
            scanf("%d",&A[i][q]);
    }
    scanf("%d %d",&tong,&lie);
    for(q=0;q<tong;q++)
    {
        for(j=0;j<lie;j++)
            scanf("%d",&B[q][j]);
    }
    
    //??
    for(i=0;i<hang;i++)
    {
        for(j=0;j<lie;j++)
        {
            for(q=0;q<tong;q++)
            {
                C[i][j]=C[i][j]+A[i][q]*B[q][j];
            }
        }
    }
    
    //??
    for(i=0;i<hang;i++)
    {
        for(j=0;j<lie;j++)
        {
            if(j==0)
                printf("%d",C[i][j]);
            else
                printf(" %d",C[i][j]);
        }
        printf("\n");
    }
    
}
/*
 * ????
 * ??????
 * ?????2010-11-20
 * ???
 */



int main(){
	int x1, y1, x2, y2;
	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 i=0; i<x2; i++)
		for(int j=0; j<y2; j++)
			cin >> b[i][j];

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

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


	return 0;
}
main(){
       int x1,x2,y1,y2,i,j,l;
       scanf("%d %d",&x1,&y1);
       int a[101][101],b[101][101];
       int c[101][101];
       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(l=1;l<=x2;l++)
                                c[i][j]+=a[i][l]*b[l][j];
                             if(j==1) printf("%d",c[i][j]);   
                             else printf(" %d",c[i][j]);   
                            }  
          printf("\n");
          }
}
int main()
{
	int x1,y1,x2,y2,i,j,k,a[100][100],b[100][100],c[100][100];
	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];
	memset(c,0,sizeof(c));
	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];
			cout<<c[i][j];
			if(j<y2-1)cout<<' ';
		}
		if(i<x1-1)cout<<endl;
	}
	return 0;
}
/*
 *  Name: ????.cpp
 *  Created on: 2010-11-20
 *  Author: ???
 *  Purpose???????
*/
int main(){            // ?????
	int a[101][101],b[101][101],c[101][101];  //??????
	int i1,j1,i2,j2,i3,j3,k;         //????
	int x1,x2,y1,y2;             //????
	cin>>x1>>y1;            //?????
	for(i1=0;i1<x1;i1++)      //for??????a??
		for(j1=0;j1<y1;j1++)
		{cin>>a[i1][j1];}
	cin>>x2>>y2;
	for(i2=0;i2<x2;i2++)             //???b??
			for(j2=0;j2<y2;j2++)
			{cin>>b[i2][j2];}
	for(i3=0;i3<x1;i3++) {         //????c
		for(j3=0;j3<y2;j3++)
			{c[i3][j3]=0;
	for(k=0;k<x2;k++)
	{c[i3][j3]=c[i3][j3]+a[i3][k]*b[k][j3];}}     //????c?
	for(j3=0;j3<y2-1;j3++)
	{cout<<c[i3][j3]<<" ";}   //??????????
		cout<<c[i3][y2-1]<<endl;}   //??????
	return 0;        //?????
}
int main()
{
	int a[101][101], b[101][101], c[101][101];
	int i, j, k, r, s, t, u;
	int xa, ya, xb, yb;

	cin >> xa >> ya;
	for (r = 1; r <= xa; r++)
	{
		for (s = 1; s <= ya; s++)
		{
			cin >> a[r][s];
		}
	}
	cin >> xb >> yb;
	for (t = 1; t <= xb; t++)
	{
		for (u = 1; u <= yb; u++)
		{
			cin >> b[t][u];
		}
	}

	for (i = 1; i <= xa; i++)
	{
		for (j = 1; j <= yb; j++)
		{
			c[i][j]=0;
			for (k = 1; k <= xb; k++)
			{
				c[i][j]=c[i][j]+a[i][k]*b[k][j];
			}
			if (j < yb)
			{
				cout << c[i][j] << " ";
			}
			if (j == yb)
			{
				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;
	
	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,x2,y1,y2;
    int i,j,k;
    int aa[1000][1000],bb[1000][1000],cc[1000][1000];
    cin>>x1>>y1;
    for(i=1;i<=x1;i++){
      for(j=1;j<=y1;j++){
          cin>>aa[i][j];
          }
          }
      
      cin>>x2>>y2;
       for(i=1;i<=x2;i++){
      for(j=1;j<=y2;j++){
          cin>>bb[i][j];
          }
          }
         for(i=1;i<=x1;i++){
            for(j=1;j<=y2;j++){
             cc[i][j]=0;
               for(k=1;k<=y1;k++){
                 cc[i][j]=cc[i][j]+aa[i][k]*bb[k][j];
                 }
             if(j!=y2)
             cout<<cc[i][j]<<" ";
             else cout<<cc[i][j]<<endl;
                 }
                 }
                               return 0;
                 }
int main()
{
    int x1,y1;
    int x2,y2;
    int i=0,j=0;
    scanf("%d %d",&x1,&y1);
    int **aa;
    aa=(int **)malloc(sizeof (int *)*x1);
    for(i=0;i<x1;i++)
    {
        aa[i]=(int *)malloc(sizeof(int)*y1);
        for(j=0;j<y1;j++)
        scanf("%d",&aa[i][j]);
    }
    scanf("%d %d",&x2,&y2);
    int **bb;
    bb=(int **)malloc(sizeof (int *)*x2);
    for(i=0;i<x2;i++)
    {
        bb[i]=(int *)malloc(sizeof(int)*y2);
        for(j=0;j<y2;j++)
        scanf("%d",&bb[i][j]);
    }
    int **cc;
    cc=(int **)malloc(sizeof (int *)*x1);
    for(i=0;i<x1;i++)
    {
        cc[i]=(int *)malloc(sizeof(int)*y2);
        for(j=0;j<y2;j++)
            cc[i][j]=0;
        for(j=0;j<y2;j++)
            for(int p=0;p<x2;p++)
                cc[i][j]+=aa[i][p]*bb[p][j];
    }
    for(i=0;i<x1;i++)
    {
        for(j=0;j<y2-1;j++)
            printf("%d ",cc[i][j]);
        printf("%d\n",cc[i][j]);
    }
    return 0;
}
int a[100][100],b[100][100],c[100][100];
main()
{
	int 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++)
			for(k=0;k<x2;k++)
				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(" ");
				if(j==y2-1)
					printf("\n");
			}
}
int main()
{
	int x1,x2,y1,y2;
	int a[100][100];
	int b[100][100];
	int c[100][100];
	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];
	memset(c,0,sizeof(c));
	for(int i=0;i<=x1-1;i++)
		for(int j=0;j<=y2-1;j++)
		{
			for(int k=0;k<=x2-1;k++)
				c[i][j]+=a[i][k]*b[k][j];
			if(j==y2-1)
			{
				if(i!=x1-1)
					cout << c[i][j] << endl;
				else
					cout << c[i][j];
			}
			else
				cout << c[i][j] << " ";
		}
return 0;
}
main ()
{ 
  int i,j,k,m,n,q;
  int a[100][100],b[100][100],c[100][100];
  scanf ("%d%d",&m,&q);
    for (int x=0;x<m;x++)
      for (int y=0;y<q;y++)
        scanf ("%d",&a[x][y]);
  scanf ("%d%d",&q,&n);
    for (int x=0;x<q;x++)
      for (int y=0;y<n;y++)
        scanf ("%d",&b[x][y]);
  for (i=0;i<m;i++)
     for (j=0;j<n;j++)
        {
          c[i][j]=0;
          for (k=0;k<q;k++)
            c[i][j]+=a[i][k]*b[k][j];
        }
  for (int x=0;x<m;x++)
     for (int y=0;y<n;y++)
       {
        if (y<n-1)
         printf ("%d ",c[x][y]);      
        else 
         printf ("%d\n",c[x][y]);
       } 
}
//????????????
//20101122 liuyi
int main()
{
	int a[100][100],b[100][100],c[100][100],i,j,x1,y1,x2,y2;
	cin>>x1>>y1;
	for(i=0;i<x1;i++)
		for(j=0;j<y1;j++)
			cin>>a[i][j];                                //???????
	cin>>x2>>y2;
	for(i=0;i<x2;i++)
		for(j=0;j<y2;j++)
			cin>>b[i][j];                          //???????
	for(i=0;i<x1;i++)
	for(j=0;j<y2;j++)
			c[i][j]=0;                      //??c?????0
    for(i=0;i<x1;i++)
		for(j=0;j<y2;j++)
			for(int k=0;k<x2;k++)
				c[i][j]+=a[i][k]*b[k][j];             //???????c?????
	for(i=0;i<x1;i++)
		{
		  for(j=0;j<y2;j++)
		  {
			  cout<<c[i][j];
			  if(j==y2-1)
				  continue;                          //??????
			  cout<<" ";                        //????
		  }
		  cout<<endl;
		}
return 0;
}
main()
{
    int x1,y1,x2,y2;
    int i,j,k;
    int 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(k=0;k<x2;k++)
           c[i][j]+=a[i][k]*b[k][j];
           if(j<(y2-1))
           printf("%d ",c[i][j]);
           else
           printf("%d\n",c[i][j]);
       }
    return 0;
}