semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int a[100][100],b[100][100],c[100][100];
int main()
{
    int x1,y1,x2,y2,k=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;
    i=0,j=0;
    for(i=0;i<x2;i++)
       {
                     for(j=0;j<y2;j++)
                     cin>>b[i][j];
        }
     i=0,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];
                      }
          } 
          i=0,j=0;
   for(i=0;i<x1;i++)
          {
                    for(j=0;j<y2-1;j++)
                    {
                                     cout<<c[i][j]<<" ";
                    }
                    cout<<c[i][y2-1];
                    cout<<endl;
          }         
cin.get();
cin.get();
cin.get();
cin.get();
cin.get();
cin.get();
cin.get();
return 0;        
}
main()
{
    int x1,y1,x2,y2,i,j,k;
    int a[100][100],b[100][100],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<x2;k++)
          c[i][j]+=a[i][k]*b[k][j];    
    for(i=0;i<x1;i++)
      for(j=0;j<y2;j++)
         {
            if(j<y2-1)
              printf("%d ",c[i][j]); 
            else 
              printf("%d\n",c[i][j]);  
         }
}
/*
 * juzhen.cpp
 *
 *  Created on: 2010-11-24
 *      Author: l
 */
int main(){
	int i,j;
	int x1,y1;
	cin>>x1>>y1;
	int a[x1][y1];
for(i=0;i<x1;i++)
	for(j=0;j<y1;j++)
	cin>>a[i][j];
int x2,y2;
	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];

	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]+=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;;//?????
	}


	return 0;
}
int main()
{
int m,q,n,i,j,p;
int a[100][100],b[100][100],c[100][100];
scanf("%d",&m);
scanf("%d",&q);
for(i=0;i<m;i++)
{
for(j=0;j<q;j++)
{scanf("%d",&a[i][j]);}
}
scanf("%d",&q);
scanf("%d",&n);
for(i=0;i<q;i++)
{
for(j=0;j<n;j++)
{scanf("%d",&b[i][j]);}
}
for(i=0;i<m;i++)
{for(j=0;j<n;j++)
{
c[i][j]=0;
for(p=0;p<q;p++)
{
                c[i][j]=c[i][j]+a[i][p]*b[p][j];
}
}
}
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
if(j==n-1)
printf("%d\n",c[i][j]);
else
printf("%d ",c[i][j]);}
}
}
main()
{
      int x1,x2,y1,y2,i,j,k;
      scanf("%d %d",&x1,&y1); 
      int a[100][100];
      for(i=0;i<=x1-1;i++)
      for(j=0;j<=y1-1;j++)
      scanf("%d",&a[i][j]);
      scanf("%d %d",&x2,&y2);
      int b[100][100];
      for(i=0;i<=x2-1;i++)
      for(j=0;j<=y2-1;j++)
      scanf("%d",&b[i][j]);
      int c[100][100];
      for(i=0;i<=x1-1;i++)
      for(j=0;j<=y2-1;j++)
      for(k=0;k<=y1-1;k++)
      c[i][j]+=a[i][k]*b[k][j];
      for(i=0;i<=x1-1;i++)
      for(j=0;j<=y2-1;j++)
      {      
             printf("%d",c[i][j]);
             if(j!=(y2-1))
             printf(" ");
             if(j==(y2-1))
             printf("\n");
      }
    
}
main ()
{
     int m,n,s,t;
     int a[1000][1000];
     int b[1000][1000];
     int c[1000][1000];
      
     
     scanf("%d %d",&m,&n);
     for (int i=1;i<=m;i++)
       {for(int j=1;j<=n;j++) 
             {
                     scanf("%d",&a[i][j]); 
             }  
       } //????????? 
       
       
       
     scanf("%d %d",&s,&t);
     for (int i=1;i<=s;i++)
       {for(int j=1;j<=t;j++) 
             {
                     scanf("%d",&b[i][j]); 
             }  
       } //????????? 
  

     
       for(int x=1;x<=m;x++)
         {
                for(int y=1;y<=t;y++)
                {       c[x][y]=0; 
                        for(int i=1;i<=n;i++) 
                       { c[x][y]+= a[x][i]*b[i][y];  } 
                        
                        if(y==1)printf("%d",c[x][y]); 
                        if(y>1)printf(" %d",c[x][y]); 
                }
         if(x<m)printf("\n"); 

         } 
         
         
 
}
int a[128][128],b[128][128],c[128][128]={0};
int main()
{	int 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;j++)
		{
			for (k=0;k<y1;k++)
				c[i][j]+=a[i][k]*b[k][j];
			if (j>0) printf(" ");
			printf("%d",c[i][j]);
		}
		printf("\n");
	}
	return 0;
}
int main()
{
	int x1 , y1 , x2 ,y2 ,a[102][102] , b[102][102] ,c[102][102] = {0};
	cin>>x1>>y1;
	for( int i = 1 ;i <= x1 ;i++)
	{
		for( int j = 1 ; j <= y1 ; j++)
		{
			cin>>a[i][j];
		}
		cout<<endl;
	}
	cin>>x2>>y2;
	for( int p = 1 ;p <= x2 ;p++)
	{
		for( int d = 1 ; d <= y2 ; d++)
		{
			cin>>b[p][d];
		}
		cout<<endl;
	}
	for( int e = 1 ;e <= x1 ;e++)
	{
		for( int f= 1 ; f <= y2 ; f++)
		{
		for( int k = 1  ; k <= y1 ; k++)
		{
			c[e][f] += a[e][k] * b[k][f];
		}
		}
	}
	for( int g = 1 ;g <= x1 ;g++)
	{
		for( int h = 1 ; h <= y2; h++)
		{
			if( h != y2 )
			{
			cout<<c[g][h]<<" ";
			}
			else if( h == y2)
			{
				cout<<c[g][h];
			}
		}
		cout<<endl;
	}

	return 0;
}
int ilong1,ilong2,iwide1,iwide2,buffer;
    int mat1[100][100],mat2[100][100],mat3[100][100];

int main()
{

    cin >> ilong1 >> iwide1;

    for(int i = 0; i < ilong1; i++){
        for(int j = 0; j < iwide1; j++){
            cin >> mat1[j][i];
        }
    }

    cin >> ilong2 >> iwide2;

    for(int i = 0; i < ilong2; i++){
        for(int j = 0; j < iwide2; j++){
            cin >> mat2[j][i];
            //cout << mat2[j][i];
        }
    }

    for(int i = 0; i < ilong1; i++){
        for(int j = 0; j < iwide2; j++){
            buffer = 0;
            for(int k = 0; k < iwide1; k++){
                buffer = buffer + mat1[k][i]*mat2[j][k];
            }
            mat3[i][j] = buffer;
        }
    }

    for(int i = 0; i < ilong1 - 1; i++){
        for(int j = 0; j < iwide2 - 1; j++){
            cout << mat3[i][j] << ' ';
        }
        cout << mat3[i][iwide2 - 1] << endl;
    }
    for(int j = 0; j < iwide2 - 1; j++){
        cout << mat3[ilong1 - 1][j] << ' ';
        }
        cout << mat3[ilong1 - 1][iwide2 - 1];
    return 0;
}
int main()
{
    int n,q,m,i,j,k;
    scanf("%d%d",&n,&q);
    int a[n][q];
    for(i=0;i<n;i++)
    {
        for(j=0;j<q;j++)
        scanf("%d",&a[i][j]);
    }
    scanf("%d%d",&q,&m);
    int b[q][m];
    for(i=0;i<q;i++)
    {
        for(j=0;j<m;j++)
        scanf("%d",&b[i][j]);
    }
    int c[n][m];
    for(i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
        c[i][j]=0;
    }
    for(i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
        {
             for(k=0;k<q;k++)
             c[i][j]=a[i][k]*b[k][j]+c[i][j];
        }
    }
    for(i=0;i<n;i++)
    {
        for(j=0;j<(m-1);j++)
        printf("%d ",c[i][j]);
        printf("%d\n",c[i][j]);
    }
    getchar();
    getchar();
}
int main()
{
	int x1,y1,x2,y2;
	scanf("%d%d",&x1,&y1);
	int a[x1][y1];
	int i,j,k;
	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(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("\n");
		else printf(" ");
	}
}
main()
{
      int x1,x2,y1,y2,i,j,k;
      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 m=x2;
      int c[x1][y2];
      for(i=0;i<x1;i++)
      {
              for(j=0;j<y2;j++)
              {
                               c[i][j]=0;
                               for(k=0;k<m;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 x1,x2,y1,y2,i,j,q,m;
	int a[100][100]={0},b[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++)
	  {m=0;
	  for(q=0;q<x2;q++)
	   {m=m+a[i][q]*b[q][j];  }    
	   if (j==0) printf("%d",m);
	   else printf(" %d",m);
	  }
	 printf("\n") ;
	 }	
}
int main()
{
	int x1, y1, x2, y2;
	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];
	cin >> x2 >> y2;
	int b[x2][y2];
	for (int i = 0; i < x2; i++)
	for (int j = 0; j < y2; j++)
	cin >> b[i][j];
	int c[x1][y2];
        for (int i = 0; i < x1; i++)
	for (int j = 0; j < y2; j++)
	c[i][j] = 0;
	for (int i = 0; i < x1; i++)
	for (int j = 0; j < y2; j++)
	{
		for (int k = 0; k < x2; k++)
		c[i][j] += a[i][k] * b[k][j];
		if (j == 0 && i != 0)
		cout << endl;
		if (j)
		cout << " ";
		cout << c[i][j];
	}
	return 0;
}
int main(){
	int x1, y1;
	cin >> x1 >> y1;
	int a[101][101];
	for ( int i = 1; i <= x1; i ++) {
		for ( int j = 1; j <= y1; j ++) {
			cin >> a[i][j];
		}
	}
	int x2, y2;
	cin >> x2 >> y2;
	int b[101][101];
	for ( int i = 1; i <= x2; i ++) {
		for ( int j = 1; j <= y2; j ++) {
			cin >> b[i][j];
		}
	}
	int c[101][101];
	for ( int i = 1; i <= x1; i ++) {
		for ( int j = 1; j <= y2; j ++) {
			c[i][j] = 0;
			for ( int k = 1; k <= y1; k ++) {
				c[i][j] += a[i][k] * b[k][j];
			}
			if ( j == y2) cout << c[i][j] << endl;
			else cout << c[i][j] << " ";
		}
	}
	return 0;
}
int main()
{
	int x1=0,x2=0,y1=0,y2=0,i=0,j=0,h=0,sum=0;
	cin>>x1>>x2;
	int o[101][101],x[101][101],r[101][101];
	for(i=1;i<=x1;i++)
	{
		for(j=1;j<=x2;j++)
		{
			cin>>o[i][j];
		}
	}
	cin>>y1>>y2;
	for(i=1;i<=y1;i++)
	{
		for(j=1;j<=y2;j++)
		{
			cin>>x[i][j];
		}
	}
    for(i=1;i<=x1;i++)
	{
		for(j=1;j<=y2;j++)
		{
			sum=0;
			for(h=1;h<=x2;h++)
			{
				sum=o[i][h]*x[h][j]+sum;
			}
			r[i][j]=sum;
		}
	}
	for(i=1;i<=x1;i++)
	{
		for(j=1;j<=y2;j++)
		{
			if(j==y2)
			  cout<<r[i][j];
			else
              cout<<r[i][j]<<" ";
		}
		cout<<endl;
	}
	return 0;
}
main()
{
  int a[100][100];
  int b[100][100];
  int x1,y1,x2,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]);
   }
  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] ;

  k=0;
  for(i=0;i<x1;i++)
  for(j=0;j<y2;j++)
  {
      printf("%d",c[i][j]);
   k++;
   if(k%y2!=0)
    printf(" ");
   if(k%y2==0)
    printf("\n");
}
getchar();
getchar();
getchar();
getchar();
getchar();
getchar();
getchar();
}
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];
		}
	}
	int num,k;
	for (i=0;i<x1;i++)
	{
		for(j=0;j<y2;j++)
		{
			num=0;
			for(k=0;k<y1;k++)
			{
				num=num+a[i][k]*b[k][j];
			}
			c[i][j]=num;
		}
		for(j=0;j<y2-1;j++)
			cout<<c[i][j]<<" ";
		cout<<c[i][y2-1]<<endl;
	}
	return 0;
}
//*****************************
//*??: ???? **
//*??:??? 1300012991 **
//*??:2013.11.11 **
//*****************************

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

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

}
int main()
{
	int a[100][100], b[100][100], c[100][100] = {0} ;
	int x1, y1, x2, y2 ;
	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] ;
	for (int i = 0 ; i <= x1 - 1 ; i ++)
	{
		for (int j = 0 ; j <= y2 - 1 ; j ++)
		{
			for (int k = 0 ; k <= y1 - 1 ; 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 ;
}
main()
{
      int x1,y1,x2,y2;
      int i,j,k;
      int sum;
      scanf("%d %d",&x1,&y1);
      int*a=(int*)malloc(x1*y1*sizeof(int));
      for(i=0;i<x1;i++)
      {
            for(j=0;j<y1;j++)
            scanf("%d",&a[i*y1+j]);
      }
      scanf("%d %d",&x2,&y2);
      int*b=(int*)malloc(x2*y2*sizeof(int));
      int*c=(int*)malloc(x1*y2*sizeof(int));
      for(i=0;i<x2;i++)
      {
           for(j=0;j<y2;j++)
           scanf("%d",&b[i*y2+j]);
      }
      for(i=0;i<x1;i++)
      {
                       for(j=0;j<y2;j++)
                       {
                                        sum=0;
                                        for(k=0;k<x2;k++)
                                        sum=sum+a[i*y1+k]*b[k*y2+j];
                                        c[i*y2+j]=sum;
                                        printf("%d",c[i*y2+j]);
                                        if((j+1)%y2!=0)
                                        printf(" ");
                                        else
                                        printf("\n");
                       }
      }
      free(a);
      free(b);
      free(c);
      getchar();
      getchar();
}
int main()
{
	int a[100][100], b[100][100], c[100][100];
	int m, n, q;
	int 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;
		}
	}
	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);
	for (i = 0; i < q; i++)
	{
		for (j = 0; j < n; j++)
			scanf("%d", &b[i][j]);
	}
	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 - 1; j++)
			printf("%d ", c[i][j]);
		printf("%d\n", c[i][n - 1]);
	}
}
int main()
{
	int a[100][100], b[100][100], x1, y1, x2, y2, c, i, j, k, l, m;
	cin >> x1 >> y1;
	for (i = 0; i < x1 * y1; i++)
	{
		cin >> a[i / y1][i % y1];
	}
	cin >> x2 >> y2;
	for (j = 0; j < x2 * y2; j++)
	{
		cin >> b[j / y2][j % y2];
	}
	for (k = 0; k < x1; k++)
	{
		for (l = 0; l < y2; l++)
		{
			c = 0;
			for (m = 0; m < y1; m++)
			{
				c += a[k][m] * b[m][l];
			}
			if (l != 0)
				cout <<' ';
			cout << c;
			if (l == y2 - 1)
				cout << endl;
		}
	}
	return 0;
}
int main()
{
	int a[100][100]={0},b[100][100]={0},c[100][100]={0},m1,n1,m2,n2,i,j,l;
	cin>>m1>>n1;
	for(i=0;i<m1;i++)
		for(int j=0;j<n1;j++)
			scanf("%d",&a[i][j]);
	cin>>m2>>n2;
	for(i=0;i<m2;i++)
		for(int j=0;j<n2;j++)
			scanf("%d",&b[i][j]);
	for(i=0;i<m1;i++)
		for(j=0;j<n2;j++)
			for(l=0;l<n1;l++ )
			{
			c[i][j]+=a[i][l]*b[l][j];
			}
	for(i=0;i<m1;i++)
	{
    	for(j=0;j<n2;j++)
		{
		if(j<n2-1)
		{
		 cout<<c[i][j]<<" ";
		}
		if(j==n2-1)cout<<c[i][j]<<endl;
		}
	}
	return 0;
}
//**************************************
//????4.cpp                        *
//?????  1?  1200012895          *
//???2012?11?5?                  *
//???????                       *
//**************************************
int main()
{
	int x1, y1, x2, y2, a[101][101], b[101][101], c[101][101] = {0}, i, j, k;     //x1?y1?a?????????x2?y2?b??????
	                                                                              //c????????i?j?k?????
	cin >> x1 >> y1;
	for (i = 1; i <= x1; i++)
	{
		for (j = 1; j <= y1; j++)
		{
			cin >> a[i][j];                                                       //??a?????
		}
	}
	cin >> x2 >> y2;
	for (i = 1; i <= x2; i++)
	{
		for (j = 1; j <= y2; j++)
		{
			cin >> b[i][j];                                                       //??b?????
		}
	}
	for (i = 1; i <= x1; i++)
	{
		for (j = 1; j <= y2; j++)
		{
			for (k = 1; k <= y1; k++)
			{
				c[i][j] = c[i][j] + a[i][k] * b[k][j];                            //??c???????
			}
			if (j == 1)
				cout << c[i][j];                                                  //??????????????????
			else 
				cout << " " << c[i][j];
		}
		cout << endl;                                                             //??
	}
	return 0;
}
int a[100][100],b[100][100];

void input(int a[][100],int x,int y)
{
	int i,j;
	for(i=0;i<x;i++)
		for(j=0;j<y;j++)
			scanf("%d",a[i]+j);
}

int c(int i,int j,int q)
{
	int x=0,k;
	for(k=0;k<q;k++)
		x+=a[i][k]*b[k][j];
	return x;
}

main()
{
	int x1,x2,y1,y2,i,j;
	scanf("%d%d",&x1,&y1);
	input(a,x1,y1);
	scanf("%d%d",&x2,&y2);
	input(b,x2,y2);
	for(i=0;i<x1;i++)
	{
		for(j=0;j<y2-1;j++)
			printf("%d ",c(i,j,y1));
		printf("%d\n",c(i,j,y1));
	}
}
//********************************
//*???1   **
//*?????? 1200012867 **
//*???2012.  **
//********************************

int main()
{
	int x1, y1, x2, y2, i, j, k;
	int a[101][101] = {0};
	int b[101][101] = {0};
	int c[101][101] = {0};
	cin >> x1 >> y1;
	for (i = 1; i <= x1; i++)
	{
		for (j = 1; j<= y1; j++)
		{
			cin >> a[i][j];
		}
	}
	cin >> x2 >> y2;
	for (i = 1; i <= x2; i++)
	{
		for (j = 1; j<= y2; j++)
		{
			cin >> b[i][j];
		}
	}
	for (i = 1; i <= x1; i++)
	{
		for (j = 1; j<= y2; j++)
		{
			for (k = 1; k <= y1; 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;
	}
	cin.get();
	cin.get();
	return 0;
}
main ()
{
    int a[100][100],b[100][100],c[100][100];
    int ai,aj,bi,bj,i,j,k;
    scanf ("%d %d",&ai,&aj);
    for (i=0;i<ai;i++)
    {
        for(j=0;j<aj;j++)
        {
            scanf("%d",&a[i][j]);
        }
    }
    scanf ("%d %d",&bi,&bj);
    for (i=0;i<bi;i++)
    {
        for(j=0;j<bj;j++)
        {
            scanf("%d",&b[i][j]);
        }
    }
    for (i=0;i<ai;i++)
    {
        for(j=0;j<bj;j++)
        {
            for (k=0,c[i][j]=0;k<aj;k++)
            {
                c[i][j]=c[i][j]+a[i][k]*b[k][j];
            }
        }
    }
    for (i=0;i<ai-1;i++)
    {
        printf("%d",c[i][0]);
        for(j=1;j<bj;j++)
        {
            printf(" %d",c[i][j]);
        }
        printf("\n");
    }
    printf("%d",c[ai-1][0]);
        for(j=1;j<bj;j++)
        {
            printf(" %d",c[ai-1][j]);
        }
}
void main()
{
    int m,n,a[100][100],c[100][100],d[100][100]={{0}},i,j,s,t,k;
	char b;
	scanf("%d %d%c",&m,&n,&b);
     for(i=0;i<=m-1;i++)
	{for(j=0;j<=n;j++)
	 {if(j<=n-1)
		 scanf("%d",&a[i][j]);
	 else scanf("%c",&b);}}

	scanf("%d %d%c",&s,&t,&b);
     for(i=0;i<=s-1;i++)
	{for(j=0;j<=t;j++)
	 {if(j<=t-1)
		 scanf("%d",&c[i][j]);
	 else scanf("%c",&b);}}

	for(i=0;i<=m-1;i++)
	{for(j=0;j<=t-1;j++)
	  {for(k=0;k<=n-1;k++)
	  d[i][j]=a[i][k]*c[k][j]+d[i][j];}}

	for(i=0;i<=m-1;i++)
	{for(k=0;k<=t-1;k++)
	{if(k<=t-2) printf("%d ",d[i][k]);
	else  printf("%d\n",d[i][k]);}}
}