semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main()
{
    int x1,x2,y1,y2,x3,y3,v;int a[101][101],b[101][101],c[101][101];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]=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");
     }
    getchar();getchar();getchar();
}
int main()
{
    int n,j,i,k,x1,y1,y2;
    int a[100][100]={0},b[100][100]={0},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",&y1,&y2);
    for(i=0;i<=y1-1;i++)
    {
                      for(j=0;j<=y2-1;j++)
                      {
                                        scanf("%d",&b[i][j]);
                      }
    }
    for(i=0;i<=x1-1;i++)
    {
                      for(j=0;j<=y2-1;j++)
                      {
                                          c[i][j]=0;
                                          for(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",c[i][j]);
                                          }
                                          else
                                          {
                                              printf("%d ",c[i][j]);
                                          }
                      }
                      printf("\n");
    }
    getchar();
    getchar();
    getchar();
    getchar();
    getchar();
    getchar();
}
// ????.cpp : ??????????????
//



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

}
int main()
{
	int i,j,k,a[100][100],b[100][100],c[100][100],x1,x2,y1,y2;
	memset(c,0,sizeof(c));
	cin>>x1>>x2;
	for (i=0;i<=x1-1;i++)
		for (j=0;j<=x2-1;j++)
			cin>>a[i][j];
	cin>>y1>>y2;
	for (i=0;i<=y1-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++)
			for (k=0;k<=x2-1;k++)
				c[i][j]+=a[i][k]*b[k][j];
	for (i=0;i<=x1-1;i++)
	{
		for (j=0;j<=y2-2;j++)
			cout<<c[i][j]<<" ";
		cout<<c[i][y2-1]<<endl;
	}
	return 0;
}
int main()
{
	int a[200][200],b[200][200],c[200][200]={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];
		}
	}
	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++)
		{
	int t=0;
			while(t<=y1)
			{
				c[i][j]=c[i][j]+a[i][t]*b[t][j];
				t++;
			}
		}
	}
	int count=0;
	for(int i=0;i<x1;i++)
	{
		cout<<c[i][0];if((y2-1)==0) cout<<endl;
		for(int j=1;j<y2;j++)
		{
			cout<<" "<<c[i][j];count++;
			if((count%(y2-1))==0) cout<<endl;
		}
	}
	return 0;
}
main()
{
	int x1,y1,x2,y2,i,j,k,m,n;
	scanf("%d %d",&x1,&y1);
	int a[x1][y1];
	for(m=0;m <x1;m++)
	{
		for(n=0;n<y1;n++)
			scanf("%d",&a[m][n]);
	}
	scanf("%d %d",&x2,&y2);
	int b[x2][y2];
	for(m=0;m <x2;m++)
	{
		for(n=0;n<y2;n++)
			scanf("%d",&b[m][n]);
	}
	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<y1;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(i<x1-1)
			printf("\n");
	}
}
//*************************
//*??????  1200062705
//*????4.????
//*???2012-11-11
//*************************
int main()
{
	int x1, y1, x2, y2, i, j, m;
	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 (m = 1; m <= y1; m++)
			{
				{
					c[i][j] = c[i][j] + a[i][m] * b[m][j]; // ????
				}
			}
			if (j == y2)
			{
				cout << c[i][j] << endl;
			}
			else
			{
				cout << c[i][j] << " ";
			}
		}
	}
	return 0;
}
int main()
{
	int a[100][100],b[100][100],c[100][100],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];
	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];
			cout<<c[i][j];
			if (j!=y2 - 1) cout<<' ';
		}
		if (i!=x1 -1 ) cout<<endl;
	}
	return 0;
}
int main(){
	int i,j,k,a[255][255],b[255][255],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];
	int ji[255][255];//??????
	for(i=0;i<x1;i++)//??
		    	for(j=0;j<y2;j++)
		    		ji[i][j]=0;
	for(i=0;i<x1;i++)//????
	    	for(j=0;j<y2;j++)
	    		for(k=0;k<y1;k++)
	    			{ji[i][j]=ji[i][j]+a[i][k]*b[k][j];}
	int count=0;
	for(i=0;i<x1;i++)//????
		for(j=0;j<y2;j++)
			{cout<<ji[i][j]; count++;
			if(count%y2==0)cout<<'\n';
			else cout<<' ';
			}

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

}
int main()
{
    int i1,i2,j1,j2,i,j,k;
    int a[100][100]={0},b[100][100]={0},c[100][100]={0};
    scanf("%d%d",&i1,&j1);
     for (i=0;i<i1;i++)
     for (j=0;j<j1;j++)
       scanf("%d",&a[i][j]);
    scanf("%d%d",&i2,&j2);
      for (i=0;i<i2;i++)
       for (j=0;j<j2;j++)
         scanf("%d",&b[i][j]);
    if (j1==i2)
    {

     for (i=0;i<i1;i++)
     {
       for (j=0;j<j2;j++)
       {
         for (k=0;k<j1;k++)
         {
           c[i][j]+=a[i][k]*b[k][j];
         
         }
        if (j<1) printf("%d",c[i][j]);
                    else printf(" %d",c[i][j]);  
       }
       printf("\n");
     }     
    }
    else printf("?????\n"); 
    getchar();
    getchar();
    getchar();
    
}
//***********************************************
//???:????                               *
//??????                                  *
//??11?06?                                  *
//***********************************************
int main()
{
    int i,j,k,x1,y1,x2,y2;
    int a[101][101],b[101][101],c[101][101];
    cin>>x1>>y1;
    for(i=1;i<=x1;i++)
    {
        for(j=1;j<=y1;j++)
        cin>>a[i][j];
    }
    cin>>x2>>y2;
    for(i=1;i<=x2;i++)
    {
        for(j=1;j<=y2;j++)
        cin>>b[i][j];
    }
    for(i=1;i<=x1;i++)
    {
        for(j=1;j<=y2;j++)
        {
            c[i][j]=0;
            for(k=1;k<=y1;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;
}
// b[j][k] * c[k][i] = a[j][i]
void matrix(int **b,int **c, int **a, int nx, int ny, int nk)
{
int i,j,k;
for (j=0;j<ny;j++)for(i=0;i<nx;i++)a[j][i]= 0;
for(j=0;j<ny;j++){
for(i=0;i<nx;i++){
for(k=0;k<nk;k++)a[j][i]+= b[j][k]*c[k][i];
};
};
}


main()
{
int i,j,k,tmp;
int b_row,b_col;
int c_row,c_col;
int a_row,a_col;
int **b,**c,**a;

// ??B ? ?? ??

scanf("%d %d",&b_row,&b_col);
c_row = b_col;

b  = (int **) malloc(sizeof(int *) * b_row);
for (j=0;j<b_row;j++){
b[j] = (int *) malloc(sizeof(int) * b_col);
}

// ??B???

for (j=0;j<b_row;j++)
for (i=0;i<b_col;i++){
scanf("%d",&tmp);
b[j][i] = tmp;
}
// ??C? ??

scanf("%d %d",&c_row,&c_col);
a_row = b_row;
a_col = c_col;
c  = (int **) malloc(sizeof(int *) * c_row);
for (j=0;j<c_row;j++){
c[j] = (int *) malloc(sizeof(int) * c_col);
}
// ??C???

for (j=0;j<c_row;j++)
for (i=0;i<c_col;i++){
scanf("%d",&tmp);
c[j][i] = tmp;
}

a  = (int **) malloc(sizeof(int *) * a_row);
for (j=0;j<a_row;j++){
a[j] = (int *) malloc(sizeof(int) * a_col);
}
if (!c[c_row-1]) {
printf("no enought memory\n");exit(0);
}



matrix( b ,c,a, a_col, a_row, b_col);

for(j=0;j<a_row;j++)
{
for (i=0;i<a_col;i++) 
  {if(i!=a_col-1) 
  printf("%d ",a[j][i]);
    else
    printf("%d",a[j][i]);
  } 
printf("\n");
};


}
int main()
{   
    int x1,y1,x2,y2,i,j,k;
    int a[100][100]={0},b[100][100]={0},c[100][100]={0};
    scanf("%d%d",&x1,&y1);
    for(i=0;i<x1;i++)
                    for(j=0;j<y1;j++)
                                     scanf("%d",&a[i][j]); 
    scanf("%d%d",&x2,&y2);
    for(i=0;i<x2;i++)
                    for(j=0;j<y2;j++)
                                     scanf("%d",&b[i][j]);
    for(i=0;i<x1;i++)
                     for(j=0;j<y2;j++)
                                      for(k=0;k<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][j]);
    }                                  
   
    return 0;
}
int main()
{
    int x1,x2,y1,y2,d=0;
	int i,j,k;
	1 <= x1,x2,y1,y2 <=100;
	cin >> x1 >> y1;
	int a[x1][y1];
	for(i=0;i<=x1-1;i++)
	{
	   for(k=0;k<=y1-1;k++)
	   {
	     cin >> a[i][k];
	   }
	 }
	cin >> x2 >> y2;
	int b[x2][y2],c[x1][y2];
	 for(k=0;k<=x2-1;k++)
	 {
	    for(j=0;j<=y2-1;j++)
		{
		  cin >> b[k][j];
		  }
	 }
	for(i=0;i<=x1-1;i++)
	{
	  for(j=0;j<=y2-2;j++)
	  {
	    for(k=0;k<=y1-1;k++)
		{
		  d = d + a[i][k] * b[k][j];
		  }
		c[i][j] = d;
		d = 0;
	    cout << c[i][j] << " ";
		}
		 for(j=y2-1;j<=y2-1;j++)
		 { 
			 for(k=0;k<=y1-1;k++)
		 {
		    d = d + a[i][k] * b[k][j];
			}
		  c[i][j] = d;
		  d = 0;
		cout << c[i][j] <<endl;
		}
	}
}
//********************************
//*??????? **
//*??????  1200062706**
//*???2012.11.11  **
//********************************

int main()
{
	int a, b, j, k;
	float x[100][100];
	cin >> a >> b;
	for (j = 0; j < a; j++)
	{
		for (k = 0; k < b; k++)
		{
			float e;
			cin >>e;
			x[j][k] = e;            //????x???
		}
	}
	int a1, b1;
	float y[100][100];
	cin >> a1 >> b1;
	for (j = 0; j < a1; j++)
	{
		for (k = 0; k < b1; k++)
		{
			float e1;
			cin >> e1;
			y[j][k] = e1;         //????y???
		}
	}
	int i;
	int a2;
	int c[100][100] = {0};
	for (j = 0; j < a; j++)
	{
		for (k = 0; k < b1; k++)
		{
			a2 = 0;
			for(i = 0; i < b; i++)
			{
				a2 = a2 + x[j][i] * y[i][k]; 
				                  //??????c[J][K]??
			}
			c[j][k] = a2;         
		}
	}
	if (b1 == 1)
	{
		for(i = 0; i < a; i++)
			cout << c[i][0] << endl;
	}
	else
	{
	    for (j = 0; j < a; j++)
		{
		    for (k = 0; k < b1; k++)
			{	
                if (k == 0)
				    cout << c[j][k];
			    else if (k == b1 - 1)
				    cout << " " << c[j][k] << endl;
			    else
				    cout << " " << c[j][k];
			}
		}
	}

	return 0;
}
main()
{
     int x1,y1,x2,y2;
     scanf("%d %d",&x1,&y1);
     int a[100][100];
     for(int i1=0;i1<=x1-1;i1++)
     {
          for(int j1=0;j1<=y1-1;j1++)
          {
               scanf("%d",&a[i1][j1]);
          }
     }
     int b[100][100];
     scanf("%d %d",&x2,&y2);
     int c[100][100]={0};
     for(int i2=0;i2<=x2-1;i2++)
     {
          for(int j2=0;j2<=y2-1;j2++)
          {
               scanf("%d",&b[i2][j2]);
          }
     }
     for(int i=0;i<=x1-1;i++)
     {
          for(int j=0;j<=y2-1;j++)
          {
               for(int t=0;t<=y1-1;t++)
               {
                   c[i][j]+=a[i][t]*b[t][j];
               }
          }
     }
     for(int k1=0;k1<=x1-1;k1++)
     {
          for(int k2=0;k2<=y2-1;k2++)
          {
               if(k2==0)
                   printf("%d",c[k1][k2]);
               else                                                                    
                   printf(" %d",c[k1][k2]);
          }
          printf("\n");
     }
}
void main()
{
	int i,j,k;
	int x1,y1;
	int x2,y2;
	int a[100][100],b[100][100];
	int c[100][100]={{0}};
	scanf("%d %d",&x1,&y1);
	for(i=0;i<x1;i++)
		for(j=0;j<y1;j++)
			scanf("%d",&a[i][j]);
	scanf("%d %d",&x2,&y2);
	for(i=0;i<x2;i++)
	{
		for(j=0;j<y2;j++)
			scanf("%d",&b[i][j]);
	}
	if(x2==y1)
	{
		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-1;j++)
		{
			printf("%d",c[i][j]);
			putchar(' ');
		}printf("%d\n",c[i][y2-1]);
	}
}
int main()
{
    int i,j,k,m,n,p,a[101][101],b[101][101],c[101][101]={0},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<x2;k++)
            c[i][j]+=a[i][k]*b[k][j];
            printf("%d ",c[i][j]);
        }
        for (k=0;k<x2;k++)
            c[i][y2-1]+=a[i][k]*b[k][y2-1];
        printf("%d\n",c[i][y2-1]);
    }
    return 0;
}
main()
{
      int m,q;
      scanf("%d %d",&m,&q);
      int a[m][q] ;
      for(int i=0;i<m;i++)
      for(int t=0;t<q;t++)
      {
      scanf("%d",&a[i][t]);
      }
      int p,n;
      scanf("%d %d",&p,&n);
      int b[p][n] ;
      for(int i=0;i<p;i++)
      for(int t=0;t<n;t++)
      {
      scanf("%d",&b[i][t]);
      }
      int c[m][n];
      for(int i=0;i<m;i++)
      for(int t=0;t<n;t++)
{
      c[i][t]=0;
      for(int s=0;s<p;s++)
      {
        c[i][t]+=(a[i][s]*b[s][t]);
        }
        if(t!=(n-1))
        printf("%d ",c[i][t]);
        else  printf("%d\n",c[i][t]);     
     
      }
 
      }
main()
{int a,b,c,d,i,j,k,x[101][101],y[101][101],z[101][101]={0};
	scanf("%d %d",&a,&b);
	i=0;
	while(i<=a-1)
	{for(j=0;j<=b-1;j++)
	scanf("%d",&x[i][j]); 
	i++;
		}
		scanf("%d %d",&c,&d);
		
	i=0;
	while(i<=c-1)
	{for(j=0;j<=d-1;j++)
	scanf("%d",&y[i][j]); 
	i++;
		}
		i=0;
		while(i<=100)
		{
			for(j=0;j<=100;j++)
			z[i][j]=0;
			i++;}
		i=0;
		while(i<=a-1)
		{for(j=0;j<=d-1;j++)
		{k=0;
			while(k<=b-1)
			{z[i][j]=z[i][j]+x[i][k]*y[k][j];
			k++;}
			}
			i++;
			}
			i=0;
			while(i<=a-1)
			{for(j=0;j<=d-2;j++)
			printf("%d ",z[i][j]);
			printf("%d\n",z[i][j]);
			i++;
				}
}
int main()
{
    int a[101][101],b[101][101],c[101][101];//?????????????????
    int i1,i2,i3,j1,j2,j3,k;
    int x1,x2,y1,y2;//??????
    cin>>x1>>y1;
    for(i1=0;i1<=x1-1;i1++)
    	for(j1=0;j1<=y1-1;j1++)
    		cin>>a[i1][j1];//???????
    cin>>x2>>y2;
        for(i2=0;i2<=x2-1;i2++)
        	for(j2=0;j2<=y2-1;j2++)
        		cin>>b[i2][j2];//???????

    for(i3=0;i3<=x1-1;i3++){//?????
    	for(j3=0;j3<=y2-1;j3++){//?????
    		c[i3][j3]=0;
    		for(k=0;k<=x2-1;k++){
    			c[i3][j3]=c[i3][j3]+a[i3][k]*b[k][j3];//??c[i][j]
    		}
        }
    	for(j3=0;j3<=y2-2;j3++){
    	    			cout<<c[i3][j3]<<" ";//????????????????????

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