semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main(){
    char str[50];
	cin>>str;
	cout<<str;
	for(;cin.get()!='\n';)
	{
		cin>>str;
		cout<<" "<<str;
		memset(str,'\0',sizeof(str));
	}
	cout<<endl;
	return 0;
}
int main()
{
char a[100]={0},b[100][100]={{0}};
int i,n,k,j;
gets(a);
n=strlen(a)-1;
b[0][0]=a[0];
for(i=0,j=0,k=1;i<=n;i++,k++)
{
if(a[i]==32&&a[i+1]!=32){j++;k=0;}
if(a[i+1]!=32)b[j][k]=a[i+1];
}
for(i=0;i<=j;i++){for(k=0;k<=strlen(b[i])-1;k++){putchar(b[i][k]);}if(i!=j)putchar(32);}
}
int main(){
	char m[10000];
	char *pointer;
	int len,i,flag=0,j;
	cin.getline(m,10000);
	pointer=&m[0];
	len=strlen(m);
	for(i=0;i<len;i++){
		if(*pointer==' '&&flag==0){
			flag=1;
			pointer++;
		}
		else if(*pointer==' '&&flag==1){
			for(j=i;j<len-1;j++)
				m[j]=m[j+1];
			m[len-1]='\0';
			len--;
			i--;
		}
		else{
			flag=0;
			pointer++;
		}
	}
	cout<<m;
	return 0;
}
int main(int argc, char* argv[])
{
	int n,p,i,l;
	char a[200];
	
	gets (a);
	l=strlen(a);
	p=0; 
	
	
	for (i=0;i<=l-1;i++)
	{
    	if (a[i]==' '&&(p==0))
		{
			printf(" ");
			p=1;
			
		}
        else if (a[i]==' '&&(p==1))
		{
			continue;
		}
		else 
		{
			printf("%c",a[i]);
			p=0;
			continue;
		}

	}
	
	
	
	
	return 0;
}
int main(){
    int i,j=0,len,a;
    char jz[LEN],hjz[LEN];
    gets(jz);
    hjz[0]=jz[0];
    j++;
    for(i=1;i<LEN;i++){
        if(jz[i]==' '&&jz[i-1]==' '){continue;} else {
            hjz[j]=jz[i];
            j++;
        }
    }
    printf("%s",hjz);
    return 0;
}
int main()
{
    char *p;
    int i;
    p=(char *)malloc(1000*sizeof(char));
    scanf("%c",p);  
    for (i=0;scanf("%c",p+i+1)!=EOF;i++)
    {
        if (isspace(*(p+i))==0)
        printf("%c",*(p+i));
        if (isspace(*(p+i))&&isspace(*(p+i+1))==0)
        printf(" ");
    }
    
    return 0;
}
int main ()
{
	//int isalpha(int ch);
	char a[100000],b[100000];
	int i=0,l,c=1;
	int m[100000];
	gets (a);
	l=strlen(a);
	m[0]=1;
	b[0]=a[0];
	for (i=1;i<l;i++)
	{
		//scanf ("%c",(a[i]));
		m[i]=isalpha(a[i]);
		if ((m[i]!=0)||((a[i]==' ')&&(m[i-1]!=0)))
		{
			b[c]=a[i];
			c++;
        }
	}
	b[c]='\0';
	printf ("%s",b);
	return 0;
}
main()
{
    int x1,y1,x2,y2,x3,y3,i,j,k,a[100][100],b[100][100],c[100][100];
    char m;
    scanf("%d %d",&x1,&y1);
    for(i=0;i<x1;i++)
    {
        for(j=0;j<y1;j++)
        {scanf("%d%c",&a[i][j],&m);
        if(m!=' ')
        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],&m);
        if(m!=' ')
        break;
        else;}
       
    } 
    
    x3=x1;
    y3=y2;

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

	return 0;
}
//********************************
//*???????    **
//*?????? 1300012855 **
//*???2013.11.1  **
//********************************


int main(void)
{
	int a[100][100], b[100][100]; // ????
	int x1, y1, x2, y2; // ?????
	int sum; // ???????????
	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++)
		{
			sum = 0;
			for(int k = 0, l = 0; k < y1; k++, l++)
					sum += a[i][k] * b[l][j]; // ??????????
			if(j == 0) cout << endl;
			cout << sum ;
			if(j != y2 - 1) cout << ' ';
		}
		return 0;
}
int main()
{
	int x1, y1, x2, y2, i, j, k;
	int a[1000][1000] = {0}, b[1000][1000] = {0}, c[1000][1000] = {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(k=1;k<=y2;k++)
	{
		for (i=1;i<=x1;i++)
		{
			for (j=1;j<=y1;j++)
			{
				c[i][k] = c[i][k] + a[i][j] * b[j][k];
			}
		}
	}
	for (i=1;i<=x1;i++)
	{
		cout << c[i][1];
		for(k=2;k<=y2;k++)
		{
			cout <<" "<< c[i][k] ;
		}
		cout << endl;
	}
	return 0;
}
int main()
{
	int x1 , y1 , x2 , y2 , num , ans;
	int a[100][100] , b[100][100] , 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 k = 0 ; k <= x2 - 1; k ++ )
	{
		for ( int l = 0 ; l <= y2 - 1 ; l ++ )
		{
			cin >> b[k][l];
		}
	}
	for ( int p = 0 ; p <= x1 - 1 ; p ++ )
	{
		for ( int q = 0 ; q <= y2 - 1 ; q ++ )
		{
			num = 0;
			for ( int t = 0 ; t <= y1 - 1 ; t ++ )
			{
				ans = a[p][t] * b[t][q];
				num = num + ans;
			}
			c[p][q] = num;
		}
	}
	for ( int m = 0 ; m <= x1 - 1 ; m ++ )
	{
		for ( int n = 0 ; n <= y2 - 1 ; n ++ )
		{
			if ( n != y2 - 1 )
			{
			  cout << c[m][n] << " ";
			}
			if ( n == y2 - 1 )
			{
				cout << c[m][n];
			}
		}
		cout << endl;
	}
	return 0;
}
main()
{
 int x1,y1,x2,y2;
 int i,j,k;
 int a[100][100]={0},b[100][100]={0},c[100][100]={0};//for(i=0;i<10;i++)for(j=0;j<10;j++)printf("%d",c[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]);
 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];//printf("%d",c[i][j]);}
 }
 for(i=0;i<x1;i++)
 for(j=0;j<y2;j++)
 {
  if(j==(y2-1)) {if(i!=(x1-1))printf("%d\n",c[i][j]);else printf("%d",c[i][j]);}
  else {printf("%d ",c[i][j]);}
 }
 
 }
int main ()
{
	int x1,x2,y1,y2,i,j,k,l,h,a[101][101]={0},b[101][101]={0},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 (k=0;k<x1;k++)
	{
		for (l=0;l<y2;l++)
		{
			for (h=0;h<x2;h++)
			{
				c[k][l]+=a[k][h]*b[h][l];
			}
		}
	}
	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,x2,y2;
    int i,j,k;
    scanf("%d %d",&x1,&y1);
    int **p1=(int **)malloc(x1*sizeof(int *));
    for(i=0;i<x1;i++)
    p1[i]=(int *)malloc(y1*sizeof(int));
    for(i=0;i<x1;i++)
    {
                     for(j=0;j<y1;j++)
                     scanf("%d",&p1[i][j]);
    }
    scanf("%d %d",&x2,&y2);
    int **p2=(int **)malloc(x2*sizeof(int *));
    for(i=0;i<x2;i++)
    p2[i]=(int *)malloc(y2*sizeof(int));
    for(i=0;i<x2;i++)
    {
                     for(j=0;j<y2;j++)
                     scanf("%d",&p2[i][j]);
    }
    int **p3=(int **)malloc(x1*sizeof(int *));
    for(i=0;i<x1;i++)
    p3[i]=(int *)malloc(y2*sizeof(int));
    for(i=0;i<x1;i++)
    {
                     for(j=0;j<y2;j++)
                     {
                                      p3[i][j]=0;
                                      for(k=0;k<y1;k++)
                                      p3[i][j]=p3[i][j]+p1[i][k]*p2[k][j];
                                       if(j==y2-1)
                                      printf("%d\n",p3[i][j]);
                                      else
                                      printf("%d ",p3[i][j]);
                     }
    }
    return 0;
}
main()
{
int a[100][100];
int b[100][100];
int c[100][100];
int i,j,k,x1,y1,x2,y2;
int sum=0;
int count=1;
scanf("%d %d",&x1,&y1);
for(i=0;i<=x1-1;i++)
{
     for(j=0;j<=y1-1;j++)
     {
          scanf("%d",&a[i][j]);                    
     }                    
}
scanf("%d %d",&x2,&y2);
for(i=0;i<=x2-1;i++)
{
     for(j=0;j<=y2-1;j++)
     {
          scanf("%d",&b[i][j]);                    
     }                    
}
for(i=0;i<=x1-1;i++)
{
     for(j=0;j<=y2-1;j++)
     {
          sum=0;
          for(k=0;k<=y1-1;k++)
          {
             sum=sum+a[i][k]*b[k][j];
          }
          c[i][j]=sum;                   
     }                    
}
for(i=0;i<=x1-1;i++)
{
     for(j=0;j<=y2-1;j++)
     {
          if(y2==1)
          {
             printf("%d\n",c[i][j]);
          }
          if(y2>1)
          {
             if(count%y2==1)
             {
                printf("%d",c[i][j]);
             }
             else 
             {
                if(count%y2==0)
                {
                   printf(" %d\n",c[i][j]);
                }
                else
                { 
                   printf(" %d",c[i][j]);               
                }  
             }
             count++;
          }                    
     }                    
}
getchar();getchar();getchar();getchar();getchar();getchar();getchar();getchar();getchar();      
}
int main()
{
    int a[100][100], b[100][100];
    int c[100][100]={0};
    int i,j,x1,x2,y,m,n;
    scanf("%d %d",&x1,&n);
    for(i=0;i<x1;i++)
     {
     for(j=0;j<n;j++)
      scanf("%d",&a[i][j]);
      }
   scanf("%d %d",&x2,&y);
     for(i=0;i<x2;i++)
     {
     for(j=0;j<y;j++)
      scanf("%d",&b[i][j]);
     }  
  for(i=0;i<x1;i++)
  {
   for(j=0;j<y;j++)
   {
       for(m=0;m<x2;m++)
       {
         c[i][j]+=a[i][m]*b[m][j];
       }
       if(i!= x1-1)
       {
       if(j!= y-1)
       printf("%d ",c[i][j]);
       else
       printf("%d\n",c[i][j]);
       }
       else
       if(j!= y-1)
       printf("%d ",c[i][j]);
       else
       printf("%d",c[i][j]);
     }
   }
   getchar();
   getchar();
}
int main() {
    int x1,y1,x2,y2;
    int **a, **b, **c;
    int i,j,k;
    scanf("%d %d", &x1, &y1);
    a = (int**)malloc(sizeof(int*)*x1);
    for(i=0;i<x1;++i) {
        a[i] = (int*)malloc(sizeof(int)*y1);
        for(j=0;j<y1;++j) {
            scanf("%d", &a[i][j]);
        }
    }
    scanf("%d %d", &x2, &y2);
    if(y1 != x2) {
        printf("Wrong parameter.");
        for(i=0;i<x1;++i) {
            free(a[i]);
        }
        free(a);
        return 0;
    }
    b = (int**)malloc(sizeof(int*)*x2);
    for(i=0;i<x2;++i) {
        b[i] = (int*)malloc(sizeof(int)*y2);
        for(j=0;j<y2;++j) {
            scanf("%d", &b[i][j]);
        }
    }
     
    c = (int**)malloc(sizeof(int*)*x1);
    for(i=0;i<x1;++i) {
        c[i] = (int*)malloc(sizeof(int)*y2);
        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) {//??c
        for(j=0;j<y2-1;++j) {
            printf("%d ", c[i][j]);    
        }
        printf("%d\n",c[i][j]);
    }
     
    //????
    for(i=0;i<x1;++i) {
        free(a[i]);
        free(c[i]);
    }
    free(a);
    free(c);
     
    for(i=0;i<x2;++i) {
        free(b[i]);
    }
    free(b);
     
    return 0;
}
int main()
{
    int m,q,n,l,i,j,sum;
    int a[100][100],b[100][100],c[100][100];
    scanf("%d%d",&m,&q);
    for(i=0;i<100;i++)
     {for(j=0;j<100;j++)
      {scanf("%d",&a[i][j]);
       if(j==q-1) break;}
      if(i==m-1) break;}
    scanf("%d%d",&q,&n);
    for(i=0;i<100;i++)
     {for(j=0;j<100;j++)
     {scanf("%d",&b[i][j]);
      if(j==n-1) break;}
     if(i==q-1) break;}    
    for(i=0;i<m;i++)
     for(j=0;j<n;j++)
     {sum=0;
      for(l=0;l<q;l++)
       sum=sum+a[i][l]*b[l][j];
      c[i][j]=sum;}
    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]);}
    
    return 0;
}
main()
{
	int i,j,m1,n1,m2,n2,p,q,a[100][100],b[100][100],answer[100][100];
	scanf("%d %d",&m1,&n1);
	for(i=0;i<m1;i++)
	{
		for(j=0;j<n1;j++)
		{
			scanf("%d",&a[i][j]);
		}
	}
	scanf("%d %d",&m2,&n2);
	for(i=0;i<m2;i++)
	{
		for(j=0;j<n2;j++)
		{
			scanf("%d",&b[i][j]);
		}
	}
	for(i=0;i<m1;i++)
	{
		for(j=0;j<n2;j++)
		{
			answer[i][j]=0;
			for(p=0;p<n1;p++)
			{
				answer[i][j]=answer[i][j]+a[i][p]*b[p][j];
			}
		}
	}
	for(i=0;i<m1;i++)
	{
		for(j=0;j<n2;j++)
		{
			if(j==0&&j!=n2-1)
				printf("%d",answer[i][j]);
			else if(j==n2-1&&j!=0)
				printf(" %d\n",answer[i][j]);
			else if(j==0&&j==n2-1)
				printf("%d\n",answer[i][j]);
			else printf(" %d",answer[i][j]);
		}
	}
}
int a[100][100],b[100][100],c[100][100];
int main()
{
    int m,n,s,t;
    int i,j,k;
    cin >>m >>n;
    for (i=1;i<=100;i++)
      for (j=1;j<=100;j++)
    {
      a[i][j]=b[i][j]=c[i][j]=0;
    }
    for (i=1;i<=m;i++)
      for (j=1;j<=n;j++)
        cin >>a[i][j];
    cin >>s >>t;
    for (i=1;i<=s;i++)
      for (j=1;j<=t;j++)
        cin >>b[i][j];
    for (i=1;i<=m;i++)
      for (j=1;j<=t;j++)
        for (k=1;k<=n;k++)
        c[i][j]=c[i][j]+a[i][k]*b[k][j];
    for(i=1;i<=m;i++)
    {
    	for(j=1;j<=t-1;j++)
    	{
    		cout<<c[i][j] <<" ";
    	}
    	cout<<c[i][t]<<endl;
    }

	return 0;
}
int main()
{
	int x1,y1,x2,y2;
	int a[101][101],b[101][101],c[101][101];

		
	int i,j,k,count=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-1;j++)
		{
            c[i][j]=0;
			for(k=1;k<=y1;k++)
			{
			    c[i][j]+=a[i][k]*b[k][j];
			}
			cout<<c[i][j]<<" ";
		}
		
		c[i][j]=0;
		for(k=1;k<=y1;k++)
			{
			    c[i][j]+=a[i][k]*b[k][j];
			}
			cout<<c[i][j]<<endl;
	}

        




			
		  
		


	return 0;
}
main ()
{
     int i,j,k;
     int a[100][100],b[100][100],c[100][100];
     int n,a1,a2,b1,b2,c1,c2;
     
     scanf("%d %d",&a1,&a2);
     a1--;a2--;
     for (i=0;i<=a1;i++) for (j=0;j<=a2;j++) scanf("%d",&a[i][j]);
     scanf("%d %d",&b1,&b2);
     b1--;b2--;
     for (i=0;i<=b1;i++) for (j=0;j<=b2;j++) scanf("%d",&b[i][j]);
     c1=a1;c2=b2;
     for (i=0;i<=c1;i++) for (j=0;j<=c2;j++) c[i][j]=0;
     
     for (i=0;i<=c1;i++)
     {
         for (j=0;j<=c2;j++)
         {
             for (k=0;k<=a2;k++)
                 c[i][j]+=a[i][k]*b[k][j];
         }
     }
     
     for (i=0;i<=c1;i++)
     {
         printf("%d",c[i][0]);
         for (j=1;j<=c2;j++)
         {
             printf(" %d",c[i][j]);
         }
         printf("\n");
     }
}
int main(void)
{
	int x1,x2,y1,y2,i,j,k;
	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<=x2;k++)
				c[i][j]+=a[i][k]*b[k][j];
			cout<<c[i][j];
			if(j%y2==0&&i!=x1) cout<<endl;
			else if(j%y2!=0) cout<<" ";
		}
}
/* Note:Your choice is C IDE */
int main()
{
    int a[200][200],b[200][200],c[200][200];
    int m,n,p,i,j,k,r;
    scanf("%d%d",&m,&n);
    for(i=1;i<=m;i++)
    {
    	for(j=1;j<=n;j++)
    	{
    		scanf("%d",&a[i][j]);
    	}
    }
    scanf("%d%d",&n,&p);
    for(i=1;i<=n;i++)
    {
    	for(j=1;j<=p;j++)
    	{
    		scanf("%d",&b[i][j]);
    	}
    }
    for(i=1;i<=m;i++)
    {
    	for(j=1;j<=p;j++)
    	{
    		c[i][j]=0;
    		for(k=1;k<=n;k++)
    		{
    			c[i][j]=c[i][j]+a[i][k]*b[k][j];
    		}
    	}
    }
    for(i=1;i<m;i++)
    {
    	for(j=1;j<=p;j++)
    	{
    		if(j!=p) printf("%d ",c[i][j]);
    		else printf("%d\n",c[i][j]);
    	}
    }
    for(j=1;j<=p;j++)
    {
    	if(j!=p) printf("%d ",c[i][j]);
    	else printf("%d",c[i][j]);
    }
    return 0;
}
void main()
{
	int x1,y1,x2,y2;
	int a[100][100],b[100][100];
	int c[100][100];
	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<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<x2;k++)
				c[i][j]=c[i][j]+a[i][k]*b[k][j];
	}
	for(i=0;i<x1;i++)
	{
		for(j=0;j<y2-1;j++)
		{
			printf("%d ",c[i][j]);
		}
		printf("%d\n",c[i][y2-1]);
	}
   
}
/*
?? 
????????????????????????? 
???? 
1 2 3 
4 5 6 
7 8 9 
?? 
1 4 7 
2 5 8 
3 6 9 

 ???? 
????????n?????n?n?? 
n???????100
 
???? 
?????????
 
???? 
3
1 2 3
4 5 6 
7 8 9
 
???? 
1 4 7 
2 5 8
3 6 9
 
?? 
???????????\t?? 
????????????? 
for (col=0;  col < n-1;  col++) 
{ 
  printf("%d\t",newMatrix[row][col]); 
} 
printf("%d\n",newMatrix[row][n-1]); 


?? 
???int a[4][3]???int b[3][5]??????????????????c=a*b. ????? 
c00 c01 c02 c03 c04 
c10 c11 c12 c13 c14 
c20 c21 c22 c23 c24 
c30 c31 c32 c33 c34 

?????????: 
????A[m][q]*B[q][n], 
????????C[m][n]?????C?????? 
C[i][j] = A[i][0]*B[0][j] + A[i][1]*B[1][j] + ..... + A[i][q]*B[q][j] 

?????????????4*3?3*5?????????????
 
???? 
????????????x1?y1?1<=x1<=100, 1<=y1<=100?? 
????x1?????y1???????????? 
???????????????x2?y2?1<=x2<=100?1<=y2<=100?????x2?y1???? 
????x2?????y2???????????? 
?????????int??????? 

??????? 
x1 y1 
a00 a01 a02 
a10 a11 a12 
a20 a21 a22 
a30 a31 a32 
x2 y2 
b00 b01 b02 b03 b04 
b10 b11 b12 b13 b14 
b20 b21 b22 b23 b24
 
???? 
?????x1???????????y2??????????c?????????? 

??????? 
c00 c01 c02 c03 c04 
c10 c11 c12 c13 c14 
c20 c21 c22 c23 c24 
c30 c31 c32 c33 c34
 
???? 
4 3
1 2 3
4 5 6
7 8 9
10 11 12
3 5
7 8 9 10 11
4 5 6 7 8
1 2 3 4 5

???? 
18 24 30 36 42
54 69 84 99 114
90 114 138 162 186
126 159 192 225 258

?? 
????????? 
 */


int main()
{
	int p,q,r,i,j,k;
	int a[101][101],b[101][101],c[101][101];

	cin>>p>>q;
	for (i=1;i<=p;i++)
	{
		for (j=1;j<=q;j++)
		{
			cin>>a[i-1][j-1];
		}
	}
	cin>>q>>r;
	for (i=1;i<=q;i++)
	{
		for (j=1;j<=r;j++)
		{
			cin>>b[i-1][j-1];
		}
	}


	for (i=0;i<=100;i++)
	{
		for (j=0;j<=100;j++)
		{
			c[i][j]=0;
		}
	}

	for (i=0;i<=p-1;i++)
	{
		for (j=0;j<=r-1;j++)
		{
			for (k=0;k<=q;k++)
			{
				c[i][j]=c[i][j]+a[i][k]*b[k][j];
			}
		}
	}

	for (i=0;i<=p-1;i++)
	{
		for (j=0;j<=r-1;j++)
		{
			if (j!=(r-1))  cout<<c[i][j]<<" ";
			else  cout<<c[i][j];
		}
		cout<<endl;
	}

	return 0;
}
int main()
{
    int a,b,m,n,c,d,i,j;
    cin>>m>>n;
    i=1;
    int v1[m+1][n+1];
    for(a=1;a<=m;a++)
    {
                     for(b=1;b<=n;b++)
                     {
                                      cin>>v1[a][b]; 
                     }
                     
    } 
    cin>>c>>d;
    int v2[c+1][d+1];
    for(a=1;a<=c;a++)
    {
                     for(b=1;b<=d;b++)
                     {
                                      cin>>v2[a][b]; 
                     }
    }
    int v3[m+1][d+1];
    for(int i=1;i<=m;i++)   
    {
                  for(int j=1;j<=d;j++) 
                  {  
                          v3[i][j]=0;
                          for(int b=1;b<=n;b++)         
                          v3[i][j]=v3[i][j]+v1[i][b]*v2[b][j];            
                  } 
    }     
    for(i=1;i<=m;i++)
    {
                     for(j=1;j<d;j++)
                     {
                                      cout<<v3[i][j]<<" ";
                     }
                     cout<<v3[i][d]<<endl;
    }
    return 0;
}
int main()
{
	int a[ 101 ][ 101 ];
	int b[ 101 ][ 101 ];
	int c[ 101 ][ 101 ];

	int x1, y1, x2, y2;
	int i, j, k, sum;

	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++ )
		{
			sum = 0;
			for ( k = 0; k < y1; k++ )
			{
				sum = sum + a[ i ][ k ] * b[ k ][ j ];
			}
			cout << sum;
			if ( j < y2 -1 )
			{
				cout << " ";
			}
		}
		cout << endl;
	}
}
int main()
{
int a[1000][1000],b[1000][1000],c[1000][1000];
int x1,y1,x2,y2,i,j,h;
for(i=0;i<1000;i++)
{
    for(j=0;j<1000;j++)
    {
        c[i][j]=0;
    }
}
scanf("%d %d",&x1,&y1);
for(i=0;i<=x1-1;i++)
  {
    for(j=0;j<=y1-1;j++)
      {
          scanf("%d",&a[i][j]);
      }
  }
scanf("%d %d",&x2,&y2);
for(i=0;i<=x2-1;i++)
  {
    for(j=0;j<=y2-1;j++)
      {
          scanf("%d",&b[i][j]);
      }
  }


for(i=0;i<=x1-1;i++)
{
    for(j=0;j<=y2-1;j++)
    {
        if(j==y2-1)
        {
        for(h=0;h<=x2-1;h++)
        {
        c[i][j]=c[i][j]+a[i][h]*b[h][j];
        }
        printf("%d\n",c[i][j]);
        }
        else
       {
        for(h=0;h<=x2-1;h++)
        {
        c[i][j]=c[i][j]+a[i][h]*b[h][j];
        }
        printf("%d ",c[i][j]);
       }
    }
}
}
int 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 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]=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[1000][1000],b[1000][1000],c[1000][1000]={0};
    int xo,yo,xt,yt;
    scanf("%d %d",&xo,&yo);
    for(int i=0;i<xo;i++)
    {
            for (int j=0;j<yo;j++)
            {
                scanf("%d",&a[i][j]);
            }
    }
    scanf("%d %d",&xt,&yt);
    for(int r=0;r<xt;r++)
    {
            for (int t=0;t<yt;t++)
            {
                scanf("%d",&b[r][t]);
            }
    }
    for(int k=0;k<xo;k++)
    {
             for(int l=0;l<yt;l++)
             {
                     for(int h=0;h<yo;h++)
                     {
                             c[k][l]=c[k][l]+a[k][h]*b[h][l];
                     }
             }
    }
    for(int q=0;q<xo;q++)
    {
            for(int w=0;w<yt-1;w++)
            {
                    printf("%d ",c[q][w]);
            }
            printf("%d\n",c[q][yt - 1]);
    }
}
int main()
{
	int a[100][100],b[100][100],c[100][100];
	int x1,y1,x2,y2,i,j,p,q,m=0;
	cin>>x1>>y1;
	for (i=0;i<x1;i++)
		for (j=0;j<y1;j++)
		{
			cin>>a[i][j];
		}
	cin>>x2>>y2;
	for (i=0;i<x2;i++)
		for (j=0;j<y2;j++)
		{
			cin>>b[i][j];
		}
	if (y1!=x2) cout<<"error!"<<endl;
	else
	{
		for (i=0;i<x1;i++)
			for (j=0;j<y2;j++)
				c[i][j]=0;
		for (i=0;i<x1;i++)
		{
			m=0;
			for (j=0;j<y2;j++)
				for (p=0;p<x2;p++)
					c[i][j]=c[i][j]+a[i][p]*b[p][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 a,b,c,d;
int m1[128][128],m2[128][128],m3[128][128]={0};
int main() {
	int i, j, k;
	cin >> a >> b;
	for (i = 0; i < a; i++) 
       {	// ????????????
		for (j = 0; j < b; j++) 
               {
			cin >> m1[i][j];
		}
	}
	cin >> c >> d;
	for (i = 0; i < c; i++) 
        {	// ????????????
		for (j = 0; j < d; j++) 
                {
			cin >> m2[i][j];
		}
	}
	for (i = 0; i < a; i++) 
       {	// ???? 
		for (j = 0; j < b; j++) 
                {
			for (k = 0; k < d; k++) 
                       {	// b =c????????????
				m3[i][k] += m1[i][j] * m2[j][k];//????
			}
		}
	}
	for (i = 0; i < a; i++) 
       {
		for (j = 0; j < d-1; ++j) 
               {
			cout << m3[i][j] << ' ';
		}
		cout << m3[i][j];		// ??????????????
		cout << endl;
	}
	return 0;
}
int main(){
	int i,j,k;
	int x1,y1,x2,y2;
	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];
	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++){
		cout<<c[i][0];
		for(j=1;j<y2;j++){
			cout<<" "<<c[i][j];
		}
		cout<<endl;
	}
return 0;
}