semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
void main() 
{ 
char a[101],b[101],k; 
int m,i,n,j,s=102,t=0; 

scanf("%d",&n); 

for(i=1;i<=n;i++) 
{ 
scanf("%s",a); 
scanf("%s",b); 

m=strlen(a)-strlen(b); 


for(j=strlen(a)-1;j>=m;j--) 
{ 
if(t!=0) a[j]--; 
if(a[j]>=b[j-m]) 
{ 
a[j]=a[j]-b[j-m]+'0'; 
t=0; 
} 
else 
{ 
a[j]=a[j]+10-b[j-m]+'0'; 
t=1; 
} 
} 

for(j=m-1;j>=0;j--) 
{ 
if(t!=0) a[j]--; 
if(a[j]<'0') 
{ 
a[j]=a[j]+10; 
t=1; 
} 
else t=0; 
} 

for(j=0;j<strlen(a);j++) 
{ 
if(a[j]!='0') 
{ 
s=j; 
break; 
} 
} 

if(s==102) printf("0\n"); 
else 
{ 
for(j=s;j<strlen(a);j++) 
printf("%c",a[j]); 

printf("\n"); 
scanf("%c",&k); 
} 



} 

}
void main()
{
  int n;
  scanf("%d",&n);
  char miner[20][101],minee[20][101];
  int i,sp,k,pr;
  int lr,le;
     for(i=1;i<=n;i++)
	 {
		 scanf("%s%s",&miner[i],&minee[i]);
         lr=strlen(miner[i]);
		 le=strlen(minee[i]);
		 while(le>=1)
		 {    if(miner[i][lr-1]>=minee[i][le-1])
		         miner[i][lr-1]=miner[i][lr-1]-minee[i][le-1]+'0';
		      else
			  {sp=lr-2;
			  while(miner[i][sp]=='0'){miner[i][sp]='9';sp--;}
			  miner[i][sp]=miner[i][sp]-1;
			  miner[i][lr-1]=miner[i][lr-1]-minee[i][le-1]+'0'+10;
			  }

		 le--;lr--;
		 }
		k=0;lr=strlen(miner[i]);
		while(1){if(miner[i][k]=='0')k++;else break;}
		for(pr=k;pr<=lr-1;pr++)printf("%c",miner[i][pr]);
		printf("\n");
	 }
  
}
//**********************
//?????************
int main()
{ 
	int n;
	cin>>n;
	for(int times=1;times<=n;times++)
	{
             cin.get();
		     const int max=200;
		     char str1[max+1],str2[max+1];
			 long  an1[max]={0},an2[max]={0};
	         cin.getline(str1,max+1);
	         cin.getline(str2,max+1);
	         int la=strlen(str1);
	         int lb=strlen(str2);
	         memset(an1,0,sizeof(an1));
	         memset(an2,0,sizeof(an2));
			 int i=0,j=0;
	         for (i = la-1;i>=0; i--)
		        an1[j++] = str1[i] - '0';
			  j=0;
			 for (i = lb-1;i>=0;i--)
				 an2[j++] = str2[i] - '0';                            //??
			 for(i=0;i<max;i++)
	         {
				  an1[i]=an1[i]-an2[i];
                  if(an1[i]<0)
				  {
			        an1[i]=an1[i]+10;
			        an1[i+1]=an1[i+1]-1;
				  }
			 }                                                        //??
            i=max-1;
            while(an1[i]==0)
		     i--;
			for(;i>=0;i--)
             cout<<an1[i];
             cout<<endl;
	
      }                                                               //??

	return 0;

}
void main()
{
	char a[800]={'\0'},b[800]={'\0'},c[800]={'\0'},d[800]={'\0'},s;
	int i,k,m,n,j,x,y,z;
	scanf("%d",&k);
	for(i=0;i<k;i++)
	{
		scanf("%s%s",&a,&b);
		m=strlen(a);n=strlen(b);
		if(n<m)
		{
			for(j=0;j<m-n;j++)
				c[j]=48;
			for(j=m-n;j<m;j++)
				c[j]=b[j-m+n];
		}
		else
			strcpy(c,b);
		for(j=m-1;j>=0;j--)
		{
			if(j==0)
			{
				d[j]=a[j]-c[j]+48;
				break;
			}
			if(a[j]>=c[j])
				d[j]=a[j]-c[j]+48;
			else
			{
				d[j]=a[j]-c[j]+58;
				for(z=1;z<=j;z++)
				{
					if(a[j-z]>48)
					{
						a[j-z]=a[j-z]-1;
						break;
					}
					if(a[j-z]==48)
						a[j-z]=57;
				}
			}
		}
		for(x=0;x<m;x++)
			if(d[x]!=48)
			{
				y=x;break;
			}
			for(x=y;x<m;x++)
				printf("%c",d[x]);
			printf("\n");
	}
}
int main(){
	char a[100],b[100];
	int i,j,m;
	cin>>m;
	while(m!=0){
	cin>>a>>b;
	for(i=strlen(b)-1,j=strlen(a)-1;i>=0;i--,j--){
		if (a[j]-b[i]<0) {
			a[j]=10+a[j]-b[i]+48;
		    a[j-1]-=1;
		}
		else a[j]=a[j]-b[i]+48;
		}

	for(i=0;i<=strlen(a)-1;i++){
		if (a[i]!='0'){
			for(j=i;j<=strlen(a)-2;j++)
				cout<<a[j];
		        cout<<a[strlen(a)-1]<<endl;
			break;
		}
	}
	m--;
	}
	return 0;
}
void main()
{
	int n, i, j, la, lb, k;
	char a[100][100], b[100][100], c[100][100]={'\0'};
	scanf("%d\n", &n);
	gets(a[0]);
	gets(b[0]);
	for(i=1; i<n; i++)
	{
		scanf("\n");
		gets(a[i]);
		gets(b[i]);
	}
	for(i=0; i<n; i++)
	{
		la=strlen(a[i]);
		lb=strlen(b[i]);
		for(j=la-1; j>=la-lb; j--)
		{
			if(a[i][j]>=b[i][j-la+lb])
				a[i][j]=a[i][j]-b[i][j-la+lb]+48;
			else
			{
				a[i][j]=58+a[i][j]-b[i][j-la+lb];
				if(a[i][j-1]>'0')
					a[i][j-1]--;
				else
				{
					k=j;
					while(a[i][k-1]=='0')
					{
						a[i][k-1]='9';
						k--;
					}
					a[i][k-1]--;
				}
			}
		}
		k=0;
		for(j=0; a[i][j]!='\0'; j++)
			if(a[i][j]!='0') break;
		for(j=j; a[i][j]!='\0'; j++)
		{
			c[i][k]=a[i][j];
			k++;
		}
		puts(c[i]);
	}
}
/*
 * dazhengshujianfa.cpp
 *
 *  Created on: 2010-12-24
 *      Author: lz
 */

int main()
{
	int n;
	cin>>n;
	char a[200];//?????
	char b[200];//????
	char c[200];//???
	char s[200];//????????
	while(n>0)
	{
		n--;
		int i;
		int j;
		int carry=0;//??
		cin>>s;
		int slen=strlen(s);
		for(i=0;i<slen;i++)
			a[i]=s[slen-i-1];
		int alen=slen;
		cin>>s;
		slen=strlen(s);
		for(i=0;i<slen;i++)
			b[i]=s[slen-i-1];
		int blen=slen;
		for(i=0;i<blen;i++)//??
		{
			if(a[i]-'0'-carry>=b[i]-'0')
			{
				c[i]=(char)(a[i]-b[i]-carry+'0');
				carry=0;
			}
			else
			{
				c[i]=(char)(a[i]-b[i]-carry+10+'0');
				carry=1;
			}
		}
		for(i=blen;i<alen;i++)
		{
			if(a[i]-carry>='0')
			{
				c[i]=(char)(a[i]-carry);
				carry=0;
			}
			else
			{
				c[i]=(char)(a[i]-carry+10);
				carry=1;
			}
		}
		for(i=alen-1;i>=0;i--)
			if(c[i]!='0')
				break;
		for(j=i;j>=0;j--)
			cout<<c[j];
cout<<endl;
	}
	return 0;
}
void main()
{
	char str1[60][100],str2[60][100],b[100];
	int i,k,c,n,j,t;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s%s",str1[i],str2[i]);
		printf("\n");
	}
    for(i=0;i<n;i++)
	{
		t=strlen(str2[i]);
        c=strlen(str1[i]);
		k=c-t;
		for(j=t-1;j>=0;j--)
		{
			if(str1[i][k+j]>=str2[i][j]) b[k+j]=str1[i][k+j]-str2[i][j];
			else {b[k+j]=str1[i][k+j]+10-str2[i][j];str1[i][k+j-1]-=1;}
		}
		for(j=0;j<k;j++) b[j]=str1[i][j]-48;
		for(j=0;j<c;j++) printf("%d",b[j]);
		printf("\n");
	}
}
int main()
{
  char temp[101];
  int n,a[101]={0},b[101]={0},c[101]={0},i,j,l,m,is;
  scanf("%d",&n);
  for(i=1;i<=n;i++)
  {
    is=1;
    scanf("%s",temp);
    l=strlen(temp);
    for(j=l-1;j>=0;j--)
    a[l-j]=temp[j]-48;
    scanf("%s",temp);
    m=strlen(temp);
    for(j=m-1;j>=0;j--)
    b[m-j]=temp[j]-48;
	for(j=m+1;j<=100;j++)b[j]=0;
    for(j=1;j<=l;j++)
    {
      if(a[j]<b[j])
      {
        a[j]+=10;
        a[j+1]--;
      }
      c[j]=a[j]-b[j];
    }
    while(c[l]==0){l--;if(l==0){is=0;break;}}
    if(is){for(j=l;j>=1;j--)printf("%d",c[j]);
    printf("\n");}
    else printf("%d\n",0);
  }
    
    
}
int main()
{
	char a[105], b[105];
	int na[105], nb[105], n, i, j, k, lena, lenb;
	cin >>n;
	cin.get();
	for (i = 1; i <= n; i ++)
	{
		memset(na, 0, sizeof(na)); 
		memset(nb, 0, sizeof(nb));
		cin.getline (a, 104);
		cin.getline (b, 104);
		lena = strlen(a);
		lenb = strlen(b);
		for (j = 0; j <= lena - 1; j ++)
		{
			na [j] = a [lena -j - 1] - '0';
		}
		for (j = 0; j <= lenb - 1; j ++)
		{
			nb [j] = b [lenb - j - 1] - '0';
		}
		for (j = 0; j <= lena - 1; j ++)
		{
			na[j] = na [j] - nb [j];
			if (na [j] < 0)
			{
				na [j] = na [j] + 10;
				na [j + 1] = na [j + 1] - 1;
			}
		}
		j = 102;
		while (na[j] == 0)
			j --;
		for (; j >= 0; j--)
		{
			if (j != 0)
				cout << na[j];
			else
				cout << na[j] << endl;
		}
		cin.get();
	}
	return 0;
}
int main()
{
	char sn[10];
	int n;
	gets(sn);
	n = atoi(sn);
	int k;
	char a[250][250];
	char b[250][250];
	char cc[10];

	for(k=0;k<n;k++)
	{
		if( k==0)
		{
			gets(a[k]);
			gets(b[k]);
		}
		else
		{
			gets(cc);
			gets(a[k]);
			gets(b[k]);
		}
	}
    int lena[250];
	int lenb[250];
	int i;int j;
	for(k=0;k<n;k++)
	{

	lena[k]=strlen(a[k]);
	lenb[k]=strlen(b[k]);
	

    int shua[251][250];int shub[251][250];
	memset(shua[k],0,sizeof(shua[k]));
	memset(shub[k],0,sizeof(shub[k]));
	
	j=0;
	for(i=lena[k]-1;i>=0;i--)
	{
         shua[k][j++]=a[k][i]-'0';
	}
	j=0;
	for(i=lenb[k]-1;i>=0;i--)
	{
         shub[k][j++]=b[k][i]-'0';
	}
	

	for(i=0;i<250;i++)
	{
		shua[k][i]-=shub[k][i];
		if(shua[k][i]<0)
		{
			shua[k][i]+=10;
			shua[k][i+1]--;
		}
	}
	int bStartOutput = 0;
	for(i=249;i>=0;i--)
	{
		if(bStartOutput)
		{
			printf("%d",shua[k][i]);
		}
		else if(shua[k][i] > 0)
		{
			printf("%d",shua[k][i]);
			bStartOutput = 1;
		}
	}
	printf("\n");
	if (!bStartOutput)
		printf("0\n");

	}

	return 0;
}
void main()
{
	int i,j,n;
	int la[50],lb[50];
	char a[50][100],b[50][100],c[50][100]={'\0'};
	scanf("%d",&n);
	
	for(i=0;i<n;i++)
	{   scanf("%s",a[i]);	    
	    scanf("%s",b[i]);
		la[i]=strlen(a[i]);
		lb[i]=strlen(b[i]);
		printf("\n");
	}
	
	for(i=0;i<n;i++)
	{	for(j=0;j<la[i]-lb[i];j++)
			c[i][j]=a[i][j];
	    for(j=la[i]-lb[i];j<la[i];j++)
			c[i][j]=a[i][j]-b[i][j-la[i]+lb[i]]+48;
		for(j=la[i]-1;j>=0;j--)
			if(c[i][j]<48)
			{c[i][j]+=10;
			c[i][j-1]--;
			}
	}

	for(i=0;i<n;i++)
	{if(c[i][0]=='0')
	for(j=0;i<la[i]-1;j++)
		c[i][j]=c[i][j+1];
		printf("%s\n",c[i]);
	}
}
void main()
{
	int n,i,m,k,j,l;
	char str[1000][1000],stt[1000][1000];
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s",str[i]);
		scanf("%s",stt[i]);
	}
	for(i=0;i<n;i++)
	{
		m=strlen(str[i]);
		k=strlen(stt[i]);
		for(j=m-1;j>=m-k;j--)
		{
			if(str[i][j]>=stt[i][j+k-m])
				str[i][j]=str[i][j]-stt[i][j+k-m]+48;
			else
			{
				str[i][j]=str[i][j]-stt[i][j+k-m]+58;
				str[i][j-1]=str[i][j-1]-1;
				l=j-1;
				while(str[i][l]<48)
				{
					str[i][l]=str[i][l]+10;
					l=l-1;
					str[i][l]=str[i][l]-1;
				}
			}
		}
		printf("%s\n",str[i]);
	}
}
void main()
{
	int n,z,p,q,i,j,s,h;
	char a[100],b[100];
	scanf("%d",&n);
	for(z=0;z<n;z++)
	{
		scanf("%s\n%s",a,b);
		p=strlen(a);
		q=strlen(b);
		for(i=p-1,j=q-1;i>=0;i--,j--)
		{
			if(j>=0)
			{
				if(*(a+i)>=*(b+j))
				    *(a+i)=*(a+i)-*(b+j)+48;
		    	else
				{
				    *(a+i)=*(a+i)-*(b+j)+58;
				    *(a+i-1)=*(a+i-1)-1;
				}
			}
			else
			{
				if(*(a+i)<'0')
				{
					*(a+i)=*(a+i)+10+48;
					*(a+i-1)=*(a+i-1)-1;
				}
				else
					break;
			}
		}
			for(s=0;s<p;s++)
			{
				if(*(a+s)!='0')
				{for(h=s;h<p;h++)
						printf("%d",*(a+h)-48);
				break;}
			}
			printf("\n");
	}
}
void main()
{
char a[100],b[100];
int k,d,la,lb,forb,n,i;
int c[100];
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%s",a);
scanf("%s",b);
d=10;
la=strlen(a);
lb=strlen(b);
for(k=la-1;k>=0;k--)
{if((lb-la+k)<0)
forb=48;
else
forb=b[lb-la+k];
	d=a[k]-1+d/10+10-forb;
c[k]=d%10;
}
for(k=0;k<=la-1;k++)
{if(c[k]!=0) break;
}
for(;k<=la-1;k++)
printf("%d",c[k]);
putchar('\n');
}
}
int main (){
	char a[101],b[101],d[101];
	char c[101];
	int n,i,j,k,h;
    cin>>n;
	for(i=0;i<n;i++){
		cin>>a>>b;
		for(j=0;j<101;j++)
			if(a[j]=='\0')break;
		for(k=0;k<101;k++)
			if(b[k]=='\0')break;
		for(h=0;k>=0;k--,j--,h++){
			if(a[j]-b[k]<0){
				c[h] = a[j]-b[k]+'0'+10;
				a[j-1]=a[j-1]-1;}
			else c[h] = a[j]-b[k]+'0';

		}
		for(;j>=0;j--,h++)
			c[h]=a[j];

     for(k=h-1;k>0;k--)
    	 if(c[k]!='0')break;
     for(;k>0;k--)
    	 cout<<c[k];
     cout<<endl;}
	return 0;
}
char str1[N],str2[N],temp[N];

int max(int x,int y)
{
	return(x>y?x:y);
}

void major(char str1[],char str2[])
{
	int a[N],b[N];
	int len1,len2,len,t,jump,i;
	    len1=strlen(str1);
        len2=strlen(str2);
        if(len1<len2)
		{
            strcpy(temp,str1);t=len1;
            strcpy(str1,str2);len1=len2;
            strcpy(str2,temp);len2=t;
		}
	    len=max(len1,len2);
	    jump=len-len2+1;
	    for(i=len;i>=0;i--)
		    str1[i]=str1[i-1];
	    str1[0]='0';
	    for(i=len;i>=jump;i--)
		{
		    str2[i]=str2[i-jump];
		}
	    for(i=0;i<jump;i++)
		    str2[i]='0';
	    for(i=len;i>=0;i--)
		{
		    a[i]=str1[i]-'0';
		    b[i]=str2[i]-'0';
		}
	    for(i=len;i>=0;i--)
		{
		    if(a[i]>=b[i])
			    a[i]=a[i]-b[i];
		    else
			{
			    a[i]=a[i]+10-b[i];
			    a[i-1]-=1;
			}
		}
	    if(a[1]==0)
		{
		    for(i=0;i<=len-2;i++)
			    temp[i]=a[i+2]+'0';
		    temp[len-1]='\0';
		}
	    else if(a[1]!=0)
		{
		    for(i=0;i<=len-1;i++)
			    temp[i]=a[i+1]+'0';
		    temp[len]='\0';
		}
	    printf("%s\n",temp);
}
void main()
{
	char s1[100][N],s2[100][N];
	int i,n;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s",s1[i]);
		scanf("%s",s2[i]);
		if(i<n-1)
			printf("\n");
	}
	for(i=0;i<n;i++)
		major(s1[i],s2[i]);
}
int main()
{
	int n,length_a,length_b,i,j,k;
	char a[128],b[128];
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s",a);
		scanf("%s",b);
		length_a=strlen(a);
		length_b=strlen(b);
		for(j=length_a;(length_a-j)<length_b;j--)
		{
			if (a[j-1]>=b[length_b-1+j-length_a])
				a[j-1]=a[j-1]-b[length_b+j-length_a-1]+48;
			else
			{
					a[j-1]=a[j-1]+10-b[length_b+j-length_a-1]+48;
					k=j-2;
					while(a[k]=='0')
					{
						a[k]='9';
						k--;
					}
					a[k]--;
			}
		}
		k=0;
		while(a[k]=='0')
			k++;
		for(;k<length_a;k++)
			putchar(a[k]);
		putchar('\n');
	}
	return 0;
}
int main(int argc, char* argv[])
{  
	int i,a[101],b[101];
	char A[101],B[101];

	int n,l1,l2;
	int j,t,h;

	scanf("%d",&n);
	for(i=0;i<n;i++)
	{		
		for(h=0;h<101;h++)
		a[h]=b[h]=0;
		int k=1;
	    scanf("%s%s",A,B);
		l1=strlen(A);
		l2=strlen(B);

		for(j=0;j<l1;j++)
			a[100-l1+j]=A[j]-'0';
		for(j=0;j<l2;j++)
            b[100-l2+j]=B[j]-'0';
		  for(j=99;j>0;j--)
		  {
			if(a[j]>=b[j])  a[j]=a[j]-b[j];
			else
			{
				a[j]-=b[j]-10;
				a[j-1]-=1;
			}
		  }
          for(j=0;j<100;j++)
		  {
			  if(a[j]!=0)
			  {
		     	 k=j;
				 break;
			  }
		  }
		  for(j=k;j<100;j++)
			  printf("%d",a[j]);
		
		printf("\n");
	}



	return 0;
}
void main()
{
    char a[10000],b[10000],c[10000];
    int d,i,n,j,m,t,s,w;
    scanf("%d",&w);
    for(j=0;j<w;j++)
    {
    scanf("%s",a);
    scanf("%s",b);
    for(n=1;a[n]!='\0';)
    n++;
    for(m=1;b[m]!='\0';)
    m++;
    d=n-m;
    for(i=m-1;i>=0;i--)
    b[i+d]=b[i];
    for(i=0;i<n-m;i++)
    b[i]='0';
    for(i=n-1;i>=n-m;i--)
    {
    	t=a[i]-b[i];
    	if(t<0)
    	{
    	t=10+a[i]-b[i];
    	a[i-1]=a[i-1]-1;
    	}
    	c[i]=t+'0';    	
    	s=i-1;
    	while(a[s]<'0')
    	{
    		a[s]=a[s]+10;
    		a[s-1]=a[s-1]-1;
    		s--;
    	}
    }
    for(i=0;i<n-m;i++)
    c[i]=a[i];
    for(i=0;i<n;i++)
    printf("%c",c[i]);
    printf("\n");
    }
}
int main()
{
	int i,j,n;
	char a0[110],b0[110];
	unsigned int a[110]={0},b[110]={0};
	for(cin>>n;n>=1;--n)
	{
		cin>>a0>>b0;
		for(i=0;i<=strlen(a0)-1;++i)
			a[i]=a0[i]-'0';
		for(i=0;i<=strlen(b0)-1;++i)
			b[i-strlen(b0)+strlen(a0)]=b0[i]-'0';
		for(i=strlen(a0)-1;i>=strlen(a0)-strlen(b0);--i)
		{
			if(a[i]>=b[i])
				a[i]=a[i]-b[i];
			else 
			{
				for(j=i-1;j>=0;--j)
				{
					if(a[j]!=0)
					{
						a[j]=a[j]-1;
						for(j=j+1;j<=i-1;++j)
						{
							a[j]=9;
						}
						a[i]=10+a[i]-b[i];
						break;
					}
				}
			}
		}
		for(i=0;i<=strlen(a0)-1;++i)
			cout<<a[i];
		cout<<endl;
	}
	return 0;
}
void main()
{
	char a0[100],b0[100];
	int i,j,k,l,add,n,x,y,a[100]={0},b[100]={0},c[100][100]={0};
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{   for(j=0;j<100;j++)
	        a0[i]='\0';
	        b0[i]='\0';
		scanf("%s",a0);
		scanf("%s",b0);
		x=strlen(a0);
		y=strlen(b0);
		for(j=0;j<x;j++)
			if(a0[j]!='\0')
			a[j]=a0[j]-48;
		    
        for(j=0;j<y;j++)
			if(b0[j]!='\0')
			b[j]=b0[j]-48;
					
		for(k=x-1,l=99;k>=0;k--,l--)
			a[l]=a[k];
		for(;l>=0;l--)
			a[l]=0;
		for(k=y-1,l=99;k>=0;k--,l--)
			b[l]=b[k];
		for(;l>=0;l--)
			b[l]=0;
			add=0;
		for(j=99;j>=100-x;j--)
		{
			if((a[j]-add)<b[j])
			{c[i][j]=a[j]+10-b[j]-add;add=1;}
			else
				if((a[j]-add)>=b[j])
				{c[i][j]=a[j]-b[j]-add;add=0;}
		}
	}
	for(i=0;i<n;i++)
	{
		for(j=0;j<100;j++)
			if(c[i][j]!=0)
				break;
			k=j;
	    for(;k<100;k++)
			printf("%d",c[i][k]);
		printf("\n");
	}
}
void main()
{
	char bjs[200],js[200];
	int i,j,k,l,count,n,c;
	scanf("%d",&n);
	for(i=1;i<=n;i++)
	{
		if(strcmp(bjs,js)!=0)
		{
		scanf("%s",bjs);
		scanf("%s",js);
		c=strlen(bjs)-strlen(js);
		for(j=strlen(js)-1;j>=0;j--)
		{
			if(bjs[c+j]<js[j])
			{
				for(k=1;;k++)if(bjs[c+j-k]>48)break;
				bjs[c+j-k]-=1;
				for(l=1;l<k;l++)bjs[c+j-l]=57;
				bjs[c+j]=58+bjs[c+j]-js[j];
			}
			else bjs[c+j]=bjs[c+j]-js[j]+48;
		}
		for(j=0;;j++)if(bjs[j]!=48)break;
		for(k=j;k<strlen(bjs);k++)printf("%c",bjs[k]);
		putchar(10);
		}
		else printf("0\n");
	}
}
void subtraction (char big[100], char small[100], int n)
{
	int i;
	for (i=n;i>=0;i--)
	{
		if (big[i]-small[i]>=0)
			big[i]=big[i]-small[i]+'0';
		else
		{
			big[i]=big[i]-small[i]+10+'0';
			small[i-1]=small[i-1]+1;
		}
	}
}

void main ()
{
	char numbig[100], numsmall[100];
	int i,j,lennumbig,lennumsmall,n,k;

	scanf("%d",&n);
	for (k=0;k<n;k++)
	{
		scanf ("%s",&numbig);
		scanf ("%s",&numsmall);
		getchar();

		lennumbig=strlen(numbig);
		lennumsmall=strlen(numsmall);

		for (i=lennumbig,j=lennumsmall;i>=lennumbig-lennumsmall;i--,j--)
			numsmall[i]=numsmall[j];
		for (i=0;i<lennumbig-lennumsmall;i++)
			numsmall[i]='0';
		
		subtraction(numbig,numsmall,lennumbig-1);

		puts(numbig);
	}
}
void main()
{void min(char a[],char b[]);
int n,i,j,k;

char a[100][110];
char b[100][110];

scanf("%d",&n);
for (i=0;i<n;i++)
{ scanf("%s %s",a[i],b[i]);
   printf("\n");
}
for (i=0;i<n;i++)
  min(a[i],b[i]);
}

void min(char a[],char b[])
{
 int i,j=0,pa[110],pb[110];
      int la=strlen(a);
	  int lb=strlen(b);
      for(i=la-1;i>=0;i--)
	  {
		pa[j++]=a[i]-'0';
	  }
	  for(i=j;i<109;i++)
		  pa[i]=0;
	  j=0;

      for(i=lb-1;i>=0;i--)
		{
	     pb[j++]=b[i]-'0';
		}
	  for(i=j;i<109;i++)
		  pb[i]=0;
	  for(i=0;i<la;i++)
	  {
		  pa[i]-=pb[i];
		  if(pa[i]<0)
		  {
			  pa[i]+=10;
			  pa[i+1]--;
		  }
	  }
	  int out=0;
	  for(i=la-1;i>=0;i--)
	  {
	  if(out)
		  printf("%d",pa[i]);
		  else if(pa[i])
		  {
			  printf("%d",pa[i]);
		      out=1;
		  }

	 }
	  printf("\n");
	  return;
}
/**
* @file 1000012907_1.cpp
* @author ???
* @date 2010?11?17
* @description
* ??????: ?????
*/
int main()
{
	int n, i, len1, len2, j, k, char11[101], char22[101], flag = 0, answer[101];
	char char1[101], char2[101];
	cin >> n;
	for (i = 1; i <= n; i++)
	{
		cin >> char1 >> char2;
		len1 = strlen(char1);
		len2 = strlen(char2);
		memset(answer, '\0', sizeof(answer));
        memset(char11, '\0', sizeof(char11));
        memset(char22, '\0', sizeof(char22));
		k = 0;
		for (j = len1 - 1; j >= 0; j--)
		{
			char11[k] = char1[j] - '0';
			k++;
		}
		k = 0;
		for (j = len2 - 1; j >= 0; j--)
		{
			char22[k] = char2[j] - '0';
			k++;
		}
		for (j = 0; j < len1; j++)
		{
			if (char11[j] < char22[j])
			{
				char11[j + 1] = char11[j + 1] - 1;
				answer[j] = char11[j] + 10 - char22[j];
			}
			else
			{
				answer[j] = char11[j] - char22[j];
			}
		}
		for (j = len1 - 1; j >= 0; j--)
		{
			if (answer[j] != 0)
			{
				flag = 1;
			}
			if (flag == 1)
			{
				cout << answer[j];
			}
		}
		cout << endl;
	}
	return 0;
}
int main()
{int n,i,j,p,q,m;
  char a[100],b[100],c[100]={0};
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{scanf("%s",a);
	  scanf("%s",b);
       p=strlen(a);
       q=strlen(b);		
     for(j=0;j<q;j++)
	 {m=a[p-1-j]-b[q-1-j];
	   if(m<0) m+=10,a[p-2-j]-=1;
	   c[p-1-j]='0'+m;	 
	  }
	for(j=0;j<p-q;j++)
	  c[j]=a[j];
	 for(j=0;j<p;j++)
	  if(c[j]!='0')break;
	 for(;j<p;j++)
	  printf("%c",c[j]);
	printf("\n");
	  }
}
int trans(char str[], int a[])
{
	int l=(int)strlen(str);
	int i;
	for (i=0;i<l;i++)
	{   a[l-i-1]=str[i]-'0';
	}
	return l;
}

void print(int a[], int l)
{
	int k=l-1;
	int i;
	while (a[k]==0 && k>0)
	{ k--;
	}
	for (i=k;i>=0;i--)
	{ printf("%d",a[i]);
	}
}

int minus(int a[], int al, int b[], int bl,int c[])
{
	int i;
	for (i=0;i<al;i++)
	{   c[i]=a[i];
	    if (i<bl)  c[i]=c[i]-b[i];
	}
	for (i=0;i<al;i++)
	{   if (c[i]<0)
	{   c[i+1]--;
	    c[i]=c[i]+10;
	}
	}
	return al;
}

int main()
{
	char s1[101],s2[101];
	int a[101],b[101],c[101];
	int al,bl,cl,i,n;
	scanf("%d",&n);
	for (i=0;i<n;i++)
	{   scanf ("%s%s",s1,s2);
	    al=trans(s1,a);
		bl=trans(s2,b);
		cl=minus(a,al,b,bl,c);
		print(c,cl);
		printf("\n");
	}

	return 0;
}
void main()
{
	char str[100][100],d,string[100][100];
	int n,i,j,m,l;
	scanf("%d",&n);
	d=getchar();
	for(i=0;i<n;i++){scanf("%s",str[i]);d=getchar();scanf("%s",string[i]);}
	for(i=0;i<n;i++)
	{
	      m=strlen(str[i]);
		l=strlen(string[i]);
		for(j=1;j<=l;j++)
		str[i][m-j]=str[i][m-j]-string[i][l-j]+48;
		for(j=m-1;j>0;j--)
			if(str[i][j]<48)
			{
				str[i][j]+=10;
				str[i][j-1]--;
			}
		printf("%s\n",str[i]);
	}
}
int main()
{
	int n,i,j=0,k=0,l,m,c[101]={0},d[101]={0};
	char a[101],b[101];
	cin >> n;
	for(i=0;i<n;i++)
	{
		for(j=0;j<101;j++)
		{
			c[j]=0;
			d[j]=0;
		}	
		cin.get();
		cin.getline(a,101);
		cin.getline(b,101);
		l=strlen(a);
		m=strlen(b);
		for(j = l-1, k = 0;j >= 0;j--)
			c[k++]=a[j]-'0';
		for(j = m-1, k = 0;j >= 0;j--)
			d[k++]=b[j]-'0';
		for(j=0;j<l;j++)
		{
			c[j]-=d[j];
			if(c[j]<0)
			{
				c[j]+=10;
				c[j+1]-=1;
			}
		}
		if(c[l-1]==0)
		{
			for(j=l-2;j>=0;j--)
				cout << c[j];
			cout << endl;
		}
		else
		{
			for(j=l-1;j>=0;j--)
				cout << c[j];
			cout << endl;
		}
	}
	return 0;
}
int main()
{
    int n,i,j,x,y;
    char a[100],b[100];
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
    scanf("%s\n%s",a,b);
    x=strlen(a);
    y=strlen(b);
    for(j=y;j>0;j--)
    {
      if(a[j+x-y-1]>b[j-1])
      {
       a[j+x-y-1]=a[j+x-y-1]-b[j-1]+48;
       continue;
      }
      if(a[j+x-y-1]<b[j-1])
      {
       a[j+x-y-1]=a[j+x-y-1]-b[j-1]+58;
       a[j+x-y-2]--;
       continue;
      }
      if(a[j+x-y-1]==b[j-1])
      {
       a[j+x-y-1]=48;
      }
    }
    if(a[0]>48)
    printf("%s\n",a);
    else
    {
     for(i=1;i<x;i++)
     {
      printf("%c",a[i]);
     }
     printf("\n");
    }
   }    
     return 0;
}
struct jianfa
{
	char bjs[100];
	char js[100];
}a[20];
void main()
{
	int i,l[20],j[20],k,n;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
    scanf("%s %s",a[i].bjs,a[i].js);
	getchar();
	l[i]=strlen(a[i].bjs);
	j[i]=strlen(a[i].js);
	}
	for(k=0;k<n;k++)
	{
	for(i=0;i<j[k];i++)
	{
		a[k].bjs[l[k]-1-i]=a[k].bjs[l[k]-1-i]-a[k].js[j[k]-1-i]+48;
		if(a[k].bjs[l[k]-1-i]<48)
		{
			a[k].bjs[l[k]-1-i]=a[k].bjs[l[k]-1-i]+10;
			a[k].bjs[l[k]-2-i]=a[k].bjs[l[k]-2-i]-1;
		}
	}
	puts(a[k].bjs);
	}
}
int max(int x,int y)
{
	if(x>=y)
		return x;
	else
		return y;
}
int main()
{
	int times;
	scanf("%d",&times);
	int flow;
	for(flow=0;flow<times;flow++)
	{
		char a[260];
	    char b[260];
    	scanf("%s",a);
    	scanf("%s",b);
	
    	char num[10]={'0','1','2','3','4','5','6','7','8','9'};
    	int numa[260]={0};
    	int numb[260]={0};
    	int c[260]={0};
	
    	int i,j,lena,lenb;
    	lena=strlen(a);
    	lenb=strlen(b);
	
    	int k=0;
    	for(i=lena-1;i>=0;i--)
		{
    		for(j=0;j<10;j++)
			{
		    	if(a[i]==num[j])
				{
		    		numa[k]=j;      //???a(1234567)?????(7654321)
				}
			}
	    	k++;
		}
    	k=0;         //???!!
    	for(i=lenb-1;i>=0;i--)
		{
	        for(j=0;j<10;j++)
			{
	            if(b[i]==num[j])
				{
		            numb[k]=j;       //???b(12345)?????(54321)
				}
			}
	    	k++;
		}
	    for(i=0;i<max(lena,lenb);i++)
		{
	    	if(numa[i]-numb[i]>=0)
		        c[i]=numa[i]-numb[i];     //??????,??c
		    else
			{
			    c[i]=numa[i]-numb[i]+10;
			    if(numa[i+1]>0)
			    	numa[i+1]=numa[i+1]-1;
		    	else
				{
			    	numa[i+1]=9;
			    	numa[i+2]=numa[i+2]-1;
				}
			}
		}
    	int M;
    	for(i=max(lena,lenb);i>=0;i--)
		{
	    	if(c[i]!=0)
			{
	    		M=i;
		        break;
			}
		}
	    for(i=M;i>=0;i--)
		{
	    	printf("%d",c[i]);
		}
    	printf("\n");
	}
	return 0;
}
int main()
{
	int n;
	scanf("%d",&n);
	char a[100][100],b[100][100];
	int i;
	for(i=0;i<n;i++)
		scanf("%s%s",&a[i],&b[i]);
	int p,q;
	for(i=0;i<n;i++)
	{
		for(p=0;a[i][p]!='\0';p++);
		for(q=0;b[i][q]!='\0';q++);
		int j,x=0;
		for(j=1;j<=q;j++)
		{
			if((a[i][p-j]+x)<b[i][q-j])
			{
				a[i][p-j]=a[i][p-j]+10-(b[i][q-j]-'0')+x;
				x=-1;
			}
			else
			{
				a[i][p-j]=a[i][p-j]-(b[i][q-j]-'0')+x;
				x=0;
			}
		}
		a[i][p-j]+=x;
		printf("\n%s",a[i]);
	}
	return 0;
}
int main()
{
	char seline1[100][100],seline2[100][100];
	int n;
	cin>>n;
	cin.get();
	for(int k=0;k<n-1;k++)
	{
		cin.getline(seline1[k],100);
		cin.getline(seline2[k],100);
		cin.get();
	}
	    cin.getline(seline1[n-1],100);
		cin.getline(seline2[n-1],100);
	for(int k=0;k<n;k++)
	{
		int l1=strlen(seline1[k]),an1[100],an2[100];
		int l2=strlen(seline2[k]);
		memset(an1, 0, sizeof(an1));
	    memset(an2, 0,sizeof(an2));
		for(int i=0;i<l1;i++)
			an1[i]=seline1[k][l1-i-1]-'0';//???????????????
		for(int i=0;i<l2;i++)
			an2[i]=seline2[k][l2-i-1]-'0';
		for(int j=0;j<l1;j++)
		{
			if(an1[j]>=an2[j])
				an1[j]-=an2[j];
			else
			{
				an1[j+1]--;
				an1[j]=an1[j]+10-an2[j];
			}
		}
		int t=99;
		while(an1[t]==0) t--;
		for(;t>=0;t--)
			cout<<an1[t];
		cout<<endl;
	}
		return 0;
	}