semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main()
{
	int x1,y1;
	int x2,y2;
	int a[101][101];
	int b[101][101];
	int c[101][101];
	int i,j;
	int k;

	for(i=0;i<101;i++)
	{
		for(j=0;j<101;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<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+1)%y2!=0)
		   {cout<<c[i][j]<<" ";}
		   else
		   {cout<<c[i][j]<<endl;}
	   
	   }
	}



return 0;


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


}
int main()
{
	int matrix1[100][100], matrix2[100][100];
	int row1, column1, row2, column2, i, j, k, sum;
	scanf("%d%d", &row1, &column1);
	for(i=0; i<row1; i++)
		for(j=0; j<column1; j++)
			scanf("%d", &matrix1[i][j]);
	scanf("%d%d", &row2, &column2);
	for(i=0; i<row2; i++)
		for(j=0; j<column2; j++)
			scanf("%d", &matrix2[i][j]);
	int temp1 = column2-1;
	for(i=0; i<row1; i++)
	{
		for(j=0; j<temp1; j++)
		{
			sum = 0;
			for(k=0; k<column1; k++)
				sum += matrix1[i][k]*matrix2[k][j];
			printf("%d ", sum);
		}
		sum = 0;
		for(k=0; k<column1; k++)
			sum += matrix1[i][k]*matrix2[k][j];
		printf("%d\n", sum);
	}
	return 0;
}
int main(){
	int s,n,m;
	int a[100][100],b[100][100],c[100][100];
    int i,j,k;
	cin>>s>>n;
	for(i=0;i<=s-1;i++)
		for(j=0;j<=n-1;j++)
			cin>>a[i][j];
	cin>>n>>m;
	for(i=0;i<=n-1;i++)
			for(j=0;j<=m-1;j++)
				cin>>b[i][j];//s*n???n*m??
	for(i=0;i<=99;i++)
		for(j=0;j<=99;j++)
			c[i][j]=0;
	for(i=0;i<=s-1;i++)
		for(j=0;j<=m-1;j++)
			for(k=0;k<=n-1;k++)
				c[i][j]=c[i][j]+a[i][k]*b[k][j];
	for(i=0;i<=s-1;i++)
		for(j=0;j<=m-1;j++)
		{
			if(j!=m-1)
			    cout<<c[i][j]<<" ";
			else
				cout<<c[i][j]<<endl;
		}
	return 0;	
}
main()
{
	int a[101][101]={0},b[101][101]={0},c[101][101]={0};
	int x1 ,y1 ,x2, y2,i,j,k,number=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-1;j++)
		{
			for(k=0;k<y1;k++)
			number=number+a[i][k]*b[k][j];
			c[i][j]=number;	
			printf("%d ",c[i][j]);
			number=0;
		}
		if(j==y2-1)
		{
			for(k=0;k<y1;k++)
			number=number+a[i][k]*b[k][j];
			c[i][y2-1]=number;	
			printf("%d\n",c[i][j]);
			number=0;
		}	
	}

}
main()
{
    int i,j,k,t;
    int x1,y1;
    scanf("%d %d",&x1,&y1);
    int a[100][100];
    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]);
        }
    }
    int c[100][100];
    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++)
    {
        printf("%d",c[i][0]);
        for(j=1;j<y2;j++)
        {
            printf(" %d",c[i][j]);
        }
        printf("\n");
    }
}
int main()
{
	int a[100][100] = {0}, b[100][100] = {0}, 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];
			}
			if (j != 0)
				cout << " ";
			cout << c[i][j];
		}
		cout << endl;
	}
	return 0;
}
int main()
{
	int x1,y1,x2,y2;
	int i,j,t;
	int a[200][200],b[200][200],c[200][200]={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(t=0;t<y1;t++)
			{
				c[i][j]+=a[i][t]*b[t][j];
			}
			if(j==y2-1)
				printf("%d\n",c[i][j]);
			else printf("%d ",c[i][j]);
		}
	}	
	return 0;
}
int main()
{
	int x1=0;
	int y1=0;
	int x2=0;
	int y2=0;
	int a[100][100]={0};
	int b[100][100]={0};
	int c[100][100]={0};
	cin >>x1>>y1;
	int i=0,j=0;
	for (i=0;i<x1;i++)
	{
		for(j=0;j<y1;j++)
		{
			cin >>a[i][j];
		}
	}
	cin >>x2>>y2;
	for (i=0;i<x2;i++)
	{
		for(j=0;j<y2;j++)
			cin >>b[i][j];
	}
	int m=0;
	for(i=0;i<x1;i++)
	{
		for (j=0;j<y2;j++)
		{
			c[i][j]=a[i][j]-a[i][j];
			for(m=0;m<y1;m++)
				c[i][j]=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 a[100][100],b[100][100],c[100][100]={0};
	int n,x1,y1,x2,y2,x3,y3;
	scanf("%d %d",&x1,&y1);
	for(int i1=0;i1<=x1-1;i1++)
	{
		for(int i2=0;i2<=y1-1;i2++)
		{
			scanf("%d",&a[i1][i2]);
		}
	}
	scanf("%d %d",&x2,&y2);
	for(int i3=0;i3<=x2-1;i3++)
	{
		for(int i4=0;i4<=y2-1;i4++)
		{
			scanf("%d",&b[i3][i4]);
		}
	}
	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]+c[i][j];
			}
		}
	}
	for(int q=0;q<=x1-1;q++)
	{
		for(int w=0;w<=y2-2;w++)
		{
			printf("%d ",c[q][w]);
		}
		printf("%d\n",c[q][y2-1]);
	}
	return 0;
}
main()
{
      int x1,y1;
      scanf("%d%d",&x1,&y1);
      int a[100][100];
      int i,j;
      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]);
      }
      int c[100][100];
      int k;
      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-1;j++)
                             printf("%d ",c[i][j]);
                        printf("%d\n",c[i][j]);
      }
      
}
int main(){
	int a[100][100],b[100][100],c[100][100];
	int m,n,q,i,j;
	cin>>m>>q;
	for (i=0;i<m;i++)
		for (j=0;j<q;j++)
			cin>>a[i][j];
	cin>>q>>n;
	for (i=0;i<q;i++)
		for (j=0;j<n;j++)
			cin>>b[i][j];
	for (i=0;i<m;i++)
		for (j=0;j<n;j++)
			for (int t=0;t<q;t++)
			{
				c[i][j]=c[i][j]+a[i][t]*b[t][j];
			}
	for (i=0;i<m;i++){
		cout<<c[i][0];
		for (j=1;j<n;j++)
			cout<<" "<<c[i][j];
		    cout<<endl;}
	return 0;
}
int q;
int a[101][101], b[101][101];
int c(int i,int j)
{int m=0,k;
 for(k=0;k<q;k++)
 m+=a[i][k]*b[k][j];
 return m;
    }
main()
{
  int x1,y1,x2,y2,s,p,i,j,k;
  scanf("%d%d",&x1,&y1);
  for(s=0;s<x1;s++)
     {
        for (p=0;p<y1;p++)
        scanf("%d",&a[s][p]);
     }
  scanf("%d%d",&x2,&y2);
  for(s=0;s<x2;s++)
     {
        for (p=0;p<y2;p++)
        scanf("%d",&b[s][p]);
     }
     q=y1;
  
  for(i=0;i<x1;i++)
     {
       for(j=0;j<y2;j++)
         {printf("%d",c(i,j));
          if(j!=y2-1)
          printf(" ");
         } 
      if (i!=x1-1)
      printf("\n");
     }

     
    getchar(); 
}
int main()
{  int a[100][100],b[100][100],c[100][100];
   int i,j,k,num=0,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++)
	   { num=0;
		 for(k=0;k<y1;k++)
	     num+=(a[i][k]*b[k][j]);
   c[i][j]=num;}
	   for(i=0;i<x1;i++)
		   {if(i>0) cout<<endl;
	   for(j=0;j<y2;j++)
	   { cout<<c[i][j];
	   if(j<y2-1) cout<<' ';}}
	   return 0;


}
int main()
{
    int A[100][100],B[100][100],C[100][100];
    int i,j,k;
    int 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<y1;k++)
               C[i][j]=A[i][k]*B[k][j]+C[i][j];
               if(j==0) printf("%d",C[i][j]);
               else     printf(" %d",C[i][j]);
       }
       printf("\n");
    }
    getchar();
    getchar();
}
int main()
{   
    int x1,y1,x2,y2,a[101][101],b[101][101],c[101][101],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]=a[i][0]*b[0][j];
     for(k=1;k<x2;k++)
   c[i][j]=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;
}
int main()
{
	int a[100][100],b[100][100];
	int q,w,e,r,i,j,sum=0,k,flag=0;
	scanf("%d %d",&q,&w);
	for(i=0;i<q;i++)
	{
		for(j=0;j<w;j++)
		{
             scanf("%d",&a[i][j]);
		}
	}
	scanf("%d %d",&e,&r);
	for(i=0;i<e;i++)
	{
		for(j=0;j<r;j++)
		{
             scanf("%d",&b[i][j]);
		}
	}
	for(i=0;i<q;i++)
	{
		for(j=0;j<r;j++)
		{
			
			for(k=0;k<w;k++)
			{
				sum=sum+a[i][k]*b[k][j];
				
			}
			if(flag==0)
			{
				printf("%d",sum);
				flag=1;
			}
			else
			{
                printf(" %d",sum);
			}
			sum=0;
			
		}
		printf("\n");
		flag=0;


	}
	return 0;

}
main()
{
      int x,y,z,i,j,k;
      int a[100][100]={0},b[100][100]={0},c[100][100]={0};
      scanf("%d %d",&x,&y);
      for(i=0;i<x;i++)
      {
         for(j=0;j<y;j++)
         scanf("%d",&a[i][j]);
      }
      scanf("%d %d",&y,&z);
      for(i=0;i<y;i++)
      {
         for(j=0;j<z;j++)
         scanf("%d",&b[i][j]);
      }
      for(i=0;i<x;i++)
         for(j=0;j<z;j++)
            for(k=0;k<y;k++)
              c[i][j]+=a[i][k]*b[k][j];
      for(i=0;i<x;i++)
      {
         printf("%d",c[i][0]);             
         for(j=1;j<z;j++)
         printf(" %d",c[i][j]);
         printf("\n");
      }
      getchar();getchar();
      }
main()
{
      int x1,x2,y2,y1,a[100][100],b[100][100],c[100][100],i,k,j;
      scanf("%d %d",&x1,&y1);
      for(i=0;i<x1;i++)
      {
                       for(k=0;k<y1;k++)
                       {
                                        
                                        scanf("%d",&a[i][k]);
                                        
                                        }
                                        }
                                        
                                         scanf("%d %d",&x2,&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++)
                                                         {
                                                                          c[i][k]=0;
                                                                          for(j=0;j<y1;j++)
                                                                          c[i][k]+=a[i][j]*b[j][k];
                                                                          if(k==0)
                                                                          printf("\n%d",c[i][k]);
                                                                          else
                                                                          printf(" %d",c[i][k]);
                                                                          }
                                                                          }
                                                                          
                                                                          
                                        
                                        
                                        }
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<x2;q++)
				c[i][j]+=a[i][q]*b[q][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[101][101];
    int i,j;
    for(i=0;i<=x1-1;i++)
    {
        for(j=0;j<=y1-1;j++)
          {
              scanf("%d",&a[i][j]);           
             
          }                
                        
    }
    
    int x2,y2;
    scanf("%d %d",&x2,&y2);
    int b[101][101];
    
    for(i=0;i<=x2-1;i++)
    {
        for(j=0;j<=y2-1;j++)
          {
              scanf("%d",&b[i][j]);           
             
          }                
                        
    }
    
    
    int c[101][101];
    int x3;
    int y3;
    x3=x1;
    y3=y2;
    for(i=0;i<=x3-1;i++)
     {
         for(j=0;j<=y3-1;j++)   
              {
                         int he=0;
                         for(int k=0;k<=x2;k++)
                           he=he+a[i][k]*b[k][j];     
                          c[i][j]=he;  
              }            
                        
     }
    
    
    for(i=0;i<=x1-1;i++)
      {
             for(j=0;j<=y2-1;j++)
             {
                                 
               if(j==0) printf("%d",c[i][j]);
               else printf(" %d",c[i][j]);
             }           
         printf("\n");               
                        
      }
    
    
    getchar();
    getchar();
    
}
void main()
{
	int a[100][100],b[100][100],c[100][100];
	int x1,y1,x2,y2;
	int i1=0,j1=0,i2=0,j2=0;
	
	scanf("%d %d",&x1,&y1);
	for(i1=0;i1<x1;i1++)
	{
		for(j1=0;j1<y1;j1++)
			scanf("%d",&a[i1][j1]);
	}
	
	scanf("%d %d",&x2,&y2);
	for(i2=0;i2<x2;i2++)
	{
		for(j2=0;j2<y2;j2++)
			scanf("%d",&b[i2][j2]);
	}

	for (i1=0;i1<x1;i1++) 
	{
		for (j2=0;j2<y2;j2++)
		{
			c[i1][j2]=0;
			for (j1=0;j1<y1;j1++) 
			c[i1][j2]+=a[i1][j1]*b[j1][j2];
		}
	} 
	for (i1=0;i1<x1;i1++) 
	{
		printf("%d",c[i1][0]);
		for (j2=1;j2<y2;j2++)
			printf(" %d",c[i1][j2]);
		printf("\n");
	}
}
int main() {
	int A[100][100], B[100][100], C[100][100];
	int m, q, n;
	cin >> m >> q;
	for (int i = 0; i < 100; i++)
		for (int j = 0; j < 100; j++)
			C[i][j] = 0;
	for (int i = 0; i < m; i++)
		for (int j = 0; j < q; j++) {
			cin >> A[i][j];
		}
	cin >> q >> n;
	for (int i = 0; i < q; i++)
		for (int j = 0; j < n; j++) {
			cin >> B[i][j];
		}
	for (int i = 0; i < m; i++)
		for (int j = 0; j < n; j++)
			for (int t = 0; t < q; t++) {
				C[i][j] = C[i][j] + A[i][t] * B[t][j];
			}
	for (int i = 0; i < m; i++) {
		cout << C[i][0];
		for (int j = 1; j < n; j++)
			cout << " "<< C[i][j] ;
		cout << endl;
	}

}
int main()
{
	int a[100][100],b[100][100],m[100][100]={0},c,d,e,f,i,j,k,l;
	cin>>c>>d;
	for(i=0;i<c;i++)
		for(j=0;j<d;j++)
		{
			cin>>a[i][j];
		}
	cin>>e>>f;
	for(i=0;i<e;i++)
		for(j=0;j<f;j++)
		{
			cin>>b[i][j];
		}
    for(k=0;k<c;k++)
		for(l=0;l<f;l++)
		{
			for(j=0;j<d;j++)
			{
			  m[k][l]=m[k][l]+a[k][j]*b[j][l];
			}
		}
	for(k=0;k<c;k++)
		{
			for(l=0;l<f-1;l++)
		  {
			cout<<m[k][l]<<" ";
		  }
                 cout<<m[k][f-1];
	        cout<<endl;
	    }
	return 0;
}
main()
{
      int C(int x,int y);
      int x1,x2,y2,y1;
      int a[100][100]={0},b[100][100]={0},c[100][100]={0};
      scanf("%d %d",&x1,&y1);
      for(int j=0;j<x1;j++)
      {
              for(int k=0;k<y1;k++)
              {
                      if(k==0)
                      scanf("%d",&a[j][k]);
                      else scanf(" %d",&a[j][k]);
              }
      }
      scanf("%d %d",&x2,&y2);
      for(int j=0;j<x2;j++)
      {
              for(int k=0;k<y2;k++)
              {
                      if(k==0)
                      scanf("%d",&b[j][k]);
                      else scanf(" %d",&b[j][k]);
              } 
      }
      for(int j=0;j<x1;j++)
      {
              if(j!=0)   printf("\n");
              for(int k=0;k<y2;k++)
              {
                      c[j][k]=0;
                      for(int i=0;i<y1;i++)
                      c[j][k]=c[j][k]+a[j][i]*b[i][k];
                      if(k==0)
                      printf("%d",c[j][k]);
                      else 
                      {
                          
                           printf(" %d",c[j][k]);
                      }
              } 
      }
      
     
}
int main()
{
int x,y;
cin>>x>>y;
const int x1=x,y1=y;
int a[x1+1][y1+1];
for(int i=1;i<x1+1;i++)
  for(int j=1;j<y1+1;j++)
    cin>>a[i][j];
cin>>x>>y;
const int x2=x,y2=y;
int b[x2+1][y2+1];
for(int i=1;i<x2+1;i++)
  for(int j=1;j<y2+1;j++)
    cin>>b[i][j];
int c[x1+1][y2+1];
for(int i=1;i<x1+1;i++)
  for(int j=1;j<y2+1;j++)
    {
     c[i][j]=0;
     for(int k=1;k<y1+1;k++)c[i][j]+=a[i][k]*b[k][j];
    }
for(int i=1;i<x1;i++)
  {
  for(int j=1;j<y2;j++)cout<<c[i][j]<<' ';
  cout<<c[i][y2]<<endl;      
  }
for(int i=1;i<y2;i++)cout<<c[x1][i]<<' ';
cout<<c[x1][y2];
return 0;
}
int main(){
	int sx1,sx2,sy1,sy2,i,j,k;
	cin>>sx1>>sy1;
	const int x1=sx1,y1=sy1;//x1 y1??????a??????
	int a[x1][y1];
	for(i=0;i<x1;i++)
		for(j=0;j<y1;j++)cin>>a[i][j];//????a
	cin>>sx2>>sy2;
	const int x2=sx2,y2=sy2;//x2 y2??????b??????
	int b[x2][y2];
	for(i=0;i<x2;i++)
		for(j=0;j<y2;j++)cin>>b[i][j];//????b
	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(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++){
			if(j!=y2-1)cout<<c[i][j]<<' ';
			else cout<<c[i][j]<<endl;
		}
	return 0;
}
int main()
{
    int x1,y1,x2,y2;
    int A[100][100];
    int B[100][100];
    int c[100][100];
    int i,x;
    int k=0;
    scanf("%d %d",&x1,&y1);
    for(i=0;i<=x1-1;i++)
    {
        for(k=0;k<=y1-1;k++)
            scanf("%d",&(A[i][k]));
    }
    scanf("%d %d",&x2,&y2);
    for(i=0;i<=x2-1;i++)
    {
        for(k=0;k<=y2-1;k++)
          scanf("%d",&B[i][k]);
    }
    int result=0;
    for(i=0;i<=x1-1;i++)
    {
        if(i!=0)
        printf("\n");
        for(k=0;k<=y2-1;k++)
       {
           for(x=0;x<=y1-1;x++)
           result=result+A[i][x]*B[x][k];
           if(k==0)
           printf("%d",result);
           if(k!=0)
           printf(" %d",result);
           result=0;
       }
    }
}
/*
???1000012853  ??
???2010.11.20
????
*/
int main()
{
	int x1, y1, x2, y2;
	int i, j, k, l, m, n, z;
	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(i = 0; i < x2;i ++)
	{
		for(j = 0; j < y2; j ++)
		{
			cin >> b[i][j];
		}
	}
	if(y1 == x2)
	{
		for(k = 0; k < x1; k ++)
		{
			for(l = 0; l < x2; l ++)
			{
				for(m = 0; m < y2; m ++)
				{
					c[k][m] += a[k][l] * b[l][m];
				}
			}
		}
	}
	for(n = 0; n < x1; n ++)
	{
		for(z = 0; z < y2; z ++)
		{
			if(z == y2 - 1)
				cout << c[n][z] << endl;
			else
			    cout << c[n][z] << " ";
		}
	}
	return 0;
}
int main()
{
    int z1[101][101];
    int z2[101][101];
    int z3[101][101];
    int m,n,q,i,j,k;
    scanf("%d%d",&m,&q);
    for (i=1;i<=m;i++)
        for (j=1;j<=q;j++)
        scanf("%d",&z1[i][j]);
    scanf("%d%d",&q,&n);
    for (i=1;i<=q;i++)
        for (j=1;j<=n;j++)
        scanf("%d",&z2[i][j]);
    for (i=1;i<=m;i++)
        for (j=1;j<=n;j++)
            {
                          z3[i][j]=0;
                          for (k=1;k<=q;k++)
                              z3[i][j]=z3[i][j]+z1[i][k]*z2[k][j];
            }
    for (i=1;i<=m;i++)
        {
        printf("%d",z3[i][1]);
        for (j=2;j<=n;j++)
        printf(" %d",z3[i][j]);
        printf("\n");
        }
}
int main()
{
  int x1,y1;
  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 k=0;k<x2;k++)
  {
     for(int g=0;g<y2;g++)
     {
        cin>>B[k][g];
     }
  }
  int C[x1][y2];
  for(int a=0;a<x1;a++)
  {
    for(int d=0;d<y2;d++)
    {
      C[a][d]=0;
    }
  }            
  for(int h=0;h<x1;h++)
  {   
     for(int l=0;l<y2;l++)
     {
      for(int s=0;s<y1;s++)
      {
        C[h][l]+=A[h][s]*B[s][l];
      }                  
     }
  }
  
  for(int p=0;p<x1;p++)
  {
     for(int q=0;q<y2-1;q++)
     {
        cout<<C[p][q]<<" ";
     }          
     cout<<C[p][y2-1]<<endl;
  }
  
  return 0;
}
int main ()
{
    int a[100][100],b[100][100],c[100][100];
    int x1,y1,x2,y2,x3,y3;
    int i,j,q;
    scanf("%d %d",&x1,&y1);
    for (i=0;i<x1;i++)
        {for (j=0;j<y1;j++)
             {scanf("%d",&a[i][j]);
             if (j<(y1-1))
                scanf(" ");}
        }
    i=0;j=0;
    scanf("%d %d",&x2,&y2);
    for (i=0;i<x2;i++)
        {for (j=0;j<y2;j++)
             {scanf("%d",&b[i][j]);
             if (j<(y2-1))
                scanf(" ");}
        }
    x3=x1;y3=y2;
    i=0;j=0;q=0;
    for (i=0;i<x3;i++)
        {for (j=0;j<y3;j++)
             {c[i][j]=0;
             for (q=0;q<y1;q++)
                  c[i][j]=c[i][j]+a[i][q]*b[q][j];
                  q=0;
             }
        }
    i=0;j=0;
    for (i=0;i<x3;i++)
        {for (j=0;j<y3;j++)
             {printf("%d",c[i][j]);
             if (j<(y3-1))
                printf(" ");
             else
                 printf("\n");
             }
        }
}