semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int p,len1[100];
char ans[100][100];
void minus(char c[100],char d[100])
{
	int len2,i,j;
	char e[100];
	
	len1[p]=strlen(c);len2=strlen(d);
	for(i=0;i<len1[p];i++) e[i]='0';
	for(i=len1[p]-len2;i<len1[p];i++)
	{
		e[i]=d[i-len1[p]+len2];}	
	
	for(i=0;i<len1[p]-1;i++)
	{
		j=len1[p]-1-i;
		if(c[j]>=e[j]) ans[p][j]=c[j]-e[j]+'0';
		else {ans[p][j]=c[j]-e[j]+'0'+10;c[j-1]=c[j-1]-1;}
	}
	ans[p][0]=c[0]-e[0]+'0';
}

void main()
{
	int n,i,j,k;
	char a[100][100],b[100][100];
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s",a[i]);
		scanf("%s",b[i]);}
	for(p=0;p<n;p++)
	{
		minus(a[p],b[p]);
		k=0;
	for(i=0;i<100;i++)
	{
		if(ans[p][i]=='0') k=k+1;
		else break;
	}
	for(j=k;j<len1[p];j++)
		printf("%c",ans[p][j]);
	printf("\n");
	}
	
}
int main()
	{
	int n,i=0,A[50][105]={0},B[50][105]={0},k,j;
	char a[50][105],b[50][105];
	cin>>n;
	while(i<n)
		{ 
		cin.get();
		cin>>a[i];
		cin.get();
		cin>>b[i];
		cin.get();
		k=0;
		j=0;
	for(k=strlen(a[i])-1; k>=0;k--)
		{
		A[i][j]=a[i][k]-'0';
		j++;
		}
	     j=0;
	for(k=strlen(b[i])-1;k>=0;k--)
		{
		B[i][j]=b[i][k]-'0';
		j++;
		}
		for(j=0;j<105;j++)
			{
			A[i][j]=A[i][j]-B[i][j];
			if(A[i][j]<0)
				{
			A[i][j]=A[i][j]+10;
			A[i][j+1]=A[i][j+1]-1;
				}
			}
		j=104;
		while(A[i][j]==0)
			j--;
			for(k=j;k>=0;k--)
				cout<<A[i][k];
			 cout<<endl;
			 i++;
			 }
	return 0;
	}
int main()
{
	int n,i,s,j,k,t,sum=0,c[200]={0},d[200]={0},e[200]={0};
	char a[200]={0},b[200]={0};
	scanf("%d",&n);
	for(i=1;i<=n;i++)
	{
		scanf("%s",a);
        scanf("%s",b);
		s=strlen(a);
		t=strlen(b);
		int e[200]={0},c[200]={0},d[200]={0};
        for(j=0;j<s;j++) c[j]=a[s-j-1]-48;
		for(j=0;j<t;j++) d[j]=b[t-j-1]-48;
		for(j=0;j<s;j++)
		{
			if(c[j]-d[j]>=0) e[j]=c[j]-d[j];
			else {e[j]=10+c[j]-d[j]; c[j+1]--;}
		}
		for(j=s-1;j>=0;j--)
		{
			if(e[j]!=0) {k=j;break;}
		}
		for(j=k;j>=0;j--)
		{
			printf("%d",e[j]);
		}
		for(j=0;j<=s-1;j++){if(e[j]==0) sum++;}
		if(sum==s) printf("0");
		printf("\n");	
	}
    return 0;
}
int main()
{
	int a[100], b[100], len1, len2, i, j, n, k;
	char a1[101], b1[101];
	cin >> n;
	for(k = 0; k < n; k++)
	{
		cin.get();
		cin.getline(a1, 101);
		cin.getline(b1, 101);

		len1 = strlen(a1);
		len2 = strlen(b1);
		memset(a, 0, sizeof(a));
		memset(b, 0, sizeof(b));
		j = 0;
		for(i = len1 - 1; i >= 0; i--)
			a[j++] = a1[i] - '0';
		j = 0;
		for(i = len2 - 1; i >= 0; i--)
			b[j++] = b1[i] - '0';
		for(i = 0; i < 100; i++)
		{
			a[i] = a[i] - b[i];
			if(a[i] < 0)
			{
				a[i] = 10 + a[i];
				a[i + 1]--;
			}
		}
		i = 99;
		while(a[i] == 0)
			i--;
		for(; i >= 0; i--)
			cout << a[i];
		cout << endl;
	}
	return 0;
}
/*????*/
int a[N],b[N],c[N];
int na,nb,nc;
int i,j;

    /*????*/
void input()
{
	char ac[N],bc[N];
    scanf("%s",ac);
    na=strlen(ac);
    scanf("%s",bc);
    nb=strlen(bc);
    for (i=0;i<na;i++)
    {
    	a[i]=ac[na-1-i]-48;
    }
    for (i=0;i<nb;i++)
    {
    	b[i]=bc[nb-1-i]-48;
    }
}


     /*????*/
void jian(int a[],int b[],int na,int nb)
{
	nc=(na>nb)?na:nb;
    for (i=0;i<nc;i++)
    {
    	c[i]+=a[i]-b[i];
    	if (c[i]<0) 
    	{c[i]+=10;
    	 c[i+1]-=1;}
    }
}



   /*????*/
   void print()
   {
   	if (c[nc]!=0) printf("%d",c[nc]);
    for (i=nc-1;i>=0;i--) 
    printf("%d",c[i]);
   }

  /*???*/
void main()
{
	int cishu,k;
	scanf("%d",&cishu);
	for(k=1;k<=cishu;k++)
	{
    	for (i=0;i<N;i++) {b[i]=0;a[i]=0;}
   		for (i=0;i<N;i++) c[i]=0;
   		input();
    	jian(a,b,na,nb);
    	print();
    	printf("\n");
	}
}
void main()
{
 int n,lengtha,lengthb,i,j,k,l;
 char a[100],b[100],c[100];
 scanf("%d",&n);
 for(i=1;i<=n;i++)
  {
   scanf("%s\n",a);
   scanf("%s\n",b);
   lengtha=strlen(a);
   lengthb=strlen(b);
   for(j=1;j<=lengthb;j++)
     {
      if (a[lengtha-j]>=b[lengthb-j])
        c[lengtha-j]=a[lengtha-j]-b[lengthb-j];
      else
        { c[lengtha-j]=a[lengtha-j]-b[lengthb-j]+10;
         a[lengtha-j-1]=a[lengtha-j-1]-1;}
      }
     if(a[lengtha-j]<0)
       {
        a[lengtha-j]=a[lengtha-j]+10;
        a[lengtha-j-1]=a[lengtha-j-1]-1;
        }
      for(k=lengtha-j;k>=0;k--)
         c[k]=a[k]-48;
      for(l=0;l<lengtha;l++)
        printf("%d",c[l]);
        printf("\n");
   }
}
int main()
{
    int n, i, j, cnt = 0;
    cin >> n;
    int a[100], b[100], c[100];
    char num1[101], num2[101];
    while(cnt < n)
    {
        cin >> num1;
        cin >> num2;
        int len1 = strlen(num1);
        int len2 = strlen(num2);
        memset(a, 0, sizeof(a));
        memset(b, 0, sizeof(b));
        memset(c, 0, sizeof(c));
        j = 0;
        for(i = len1 - 1; i >= 0; i--)
            a[j++] = num1[i] - '0';
        j = 0;
        for(i = len2 - 1; i >= 0; i--)
            b[j++] = num2[i] - '0';
        for(i = 0; i < len2; i++)
        {
            if(a[i] < b[i])
            {
                if(a[i] == -1)
                    a[i] = 9;
                else
                    a[i] += 10;
                a[i + 1]--;
            }
            c[i] = a[i] - b[i];
        }
        if(len1 > len2)
        {
            for(i = len2; i < len1; i++)
                c[i] = a[i];
        }
        for(i = len1 - 1 ; i >= 0; i--)
            cout << c[i];
        cout << endl;
        cnt++;
    }
    return 0;
}
void main()
{
	int n,i;
	char a[100][100];
	char b[100][100];
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%s%s",a[i],b[i]);
	int p,q,j,k;
	for(i=0;i<n;i++)
	{
		p=strlen(a[i]);q=strlen(b[i]);
		for(j=q-1,k=p-1;j>=0;j--,k--)
		{
			if(a[i][k]>=b[i][j]) a[i][k]=a[i][k]-b[i][j]+48;
			else if(a[i][k]<b[i][j]) {a[i][k]=a[i][k]-b[i][j]+58;a[i][k-1]=a[i][k-1]-1;}
		}
		for(k=0;k<p;k++)
		{if(a[i][k]!=0) {printf("%c",a[i][k]);j=k;break;}}
		for(k=j+1;k<p;k++) printf("%c",a[i][k]);
		printf("\n");
	}
}
int main()
{
	int n,i;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		char p[100],q[100];
		int j,lp,lq,l;
		int a[100],b[100];
		scanf("%s%s",p,q);
		lp=strlen(p);
		lq=strlen(q);
		l=lp-lq;
		for(j=0;j<lp;j++)
		{
			if (p[j]<='9' && p[j]>=0) a[j]=p[j]-48;
		}

		for(j=0;j<lq;j++)
		{
			if (q[j]<='9' && q[j]>=0) b[j]=q[j]-48;
		}

		for (j=lq-1;j>=0;j--)
		{
			int c;
			c=a[j+l]-b[j];
			if(c>=0) a[j+l]=c;
			else 
			{
				a[j+l]=10+c;
				a[j+l-1]=a[j+l-1]-1;
			}
		}

		for(j=0;j<lp;j++)
		{
			p[j]=a[j]+48;
		}

		printf("%s\n",p);
	}


return 0;
}
int main()
{
	int n;
	cin>>n;
	while( n>0 )
	{
		n--;
		char c1[110],c2[110],c[110];
		cin>>c1>>c2;
		int len1=strlen(c1);
		int len2=strlen(c2);
		int len=len1+1;
		for( int i=0 ; i<110 ; i++ )
		{
			c[i]=1;
		}
		if( len2>len1 )
		{
			len=len2+1;
		}
		if( c1[0]=='0' && c2[0]=='0' && len1==1 && len2==1 )
		{	
			cout<<"0"<<endl;
		}
		else
		{
			for( int i=len1-1 ; i>=0 ; i-- )
			{
				c1[i+len-len1]=c1[i];
			}
			for( int i=len-len1-1 ; i>=0 ; i-- )
			{
				c1[i]='0';
			}
			for( int i=len2-1 ; i>=0 ; i-- )
			{
				c2[i+len-len2]=c2[i];
			}
			for( int i=len-len2-1 ; i>=0 ; i-- )
			{
				c2[i]='0';
			}
			for( int i=len-1 ; i>=0 ; i-- )
			{
				c[i]+='0'+c1[i]-c2[i]-1;
				if( c[i]<'0' )
				{
					c[i]+=10;
					c[i-1]--;
				}
			}
			for( int i=0 ; ; i++ )
			{
				if( c[i]!='0' )
				{
					for( int j=i ; j<len ; j++ )
					{
						cout<<c[j];
					}
					cout<<endl;
					break;
				}
			}
		}
	}
}
void main()
{
	char a[100],b[100],c[100][100];
	int n,i,j,k,l1,l2;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s %s",a,b);
		l1=strlen(a);
		l2=strlen(b);
	   for(j=l1-1,k=l2-1;k>=0;j--,k--)
	   {
		   a[j]=a[j]-b[k]+'0';
	       if(a[j]<'0')
		   {
			   a[j]=a[j]+10;
			   a[j-1]=a[j-1]-1;
		   }
	   }
    	strcpy(c[i],a);
	}
	for(i=0;i<n;i++)
		printf("%s\n",c[i]);
}
void dajianfa(char a[],char b[]);

void main ()
{
	int n;
	char a[100];
	char b[100];
	int i;
	char nouse;

	scanf("%d%c",&n,&nouse);
    
	for (i=0;i<n;i++)
	{
		gets(a);
		gets(b);

		dajianfa(a,b);
		if(i!=n-1) gets(b);
	}
}

void dajianfa(char a[],char b[])
{
	int len1,len2;
	int i;

	len1=strlen(a);
	len2=strlen(b);

	for(i=1;i<=len2;i=i+1)
	{
		if(a[len1-i]>=b[len2-i]) a[len1-i]=a[len1-i]-b[len2-i]+48;
		else {
			a[len1-i-1]-=1;a[len1-i]=a[len1-i]-b[len2-i]+58;
		}
	}

	a[len1]='\0';
	puts(a);
}
int main(){
int i,x[102],y[102],z[102],n;
char s[103];
cin>>n;
while(n--){
for(i=0;i<102;i++){x[i]=0;y[i]=0;z[i]=0;}
cin>>s;
for(i=0;i<strlen(s);i++) x[101-strlen(s)+i+1]=(int)(s[i]-48);
cin>>s;
for(i=0;i<strlen(s);i++) y[101-strlen(s)+i+1]=(int)(s[i]-48);
for(i=101;i>0;i--){
	if (x[i]<y[i]) {z[i]=x[i]+10-y[i];x[i-1]--;}
	else z[i]=x[i]-y[i];
}
for(i=0;i<102;i++) if (z[i]!=0)  break;
if (i==102) {cout<<z[i-1];return 0;}
for(;i<102;i++)cout<<z[i];
cout<<'\n';
}
}
int main()
{
	int n ;
	cin >> n ;
	for (int k = 1 ; k <= n ; k ++)
	{
		char str1[200], str2[200] ;
	    int num1[200], num2[200] = {0} , num[200] = {0} ;
		cin >> str1 >> str2 ;
		int len1 = strlen(str1) , len2 = strlen(str2) ;
		for (int i = len1 - 1 ; i >= 0 ; i --)
			num1[i] = str1[i] - '0' ;
		for (int i = len1 - 1 , j = len2 - 1 ; j >= 0 ; i -- , j --)
			num2[i] = str2[j] - '0' ;
		for (int i = len1 - 1 ; i >= 0 ; i --)
			if (num1[i] >= num2[i])
				num[i] = num1[i] - num2[i] ;
			else
			{
				num[i] = 10 + num1[i] - num2[i] ;
				for (int a = 1 ; a <= i ; a ++)
				{
					if (num1[i - a] == 0)
					{
						num1[i - a] = 9 ;
						continue ;
					}
					num1[i - a] -- ;
					break ;
				}
			}
			int b = 0 ;
			while (num[b] == 0)
				b ++ ;
			for (  ; b <= len1 - 1 ; b ++)
				cout << num[b] ;
			cout << endl ;
	}
	
	return 0 ;
}
void main()
{
	char a[100]={'\0'},b[100]={'\0'},re[100]={'\0'},n,i=0,l1=0,k=0,l2=0;
	scanf("%d",&n);
	while(scanf("%s\n%s",a,b)!=EOF)
	{
		l1=strlen(a);
		l2=strlen(b);
			k=l1-l2;
		for(i=l1-1;i>=k;i--)
		{
			if(a[i]>=b[i-k])
			{
				re[i]=a[i]-b[i-k]+'0';
			}
			else
			{
				re[i]=a[i]+10-b[i-k]+'0';
				a[i-1]=a[i-1]-1;
			}
	
		}
                  for(i=k-1;i>=0;i--)
                 {
                    re[i]=a[i];
                  	}
			
           printf("%s\n",re);
                
                 for(i=0;i<100;i++)
                 {
                   a[i]='\0';
                   b[i]='\0';
                   re[i]='\0';
                  }
                            

				
		
	}
	




}
void main()
{
	int p,i,k,l,n,q,d,j;
	char s1[101],s2[101],re[101][101];
    scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s%s",s1,s2);
		k=strlen(s1);
		d=k;
		l=strlen(s2);
		for(;l>0;l--)
		{
			if(s1[k-1]>=s2[l-1])
			{
				p=s1[k-1]-s2[l-1];
			    s1[k-1]=p+48;
			}
			else
			{
				for(q=k-2;s1[q]=='0';q--)
				{
                  s1[q]='9';

				}
				s1[q]=s1[q]-1;
				p=10+(s1[k-1]-s2[l-1]);
				s1[k-1]=p+48;
			}
			k=k-1;
		}
		for(q=0;q<d;q++)
		{
			if(s1[q]!=0)
			{
				re[i][0]=s1[q];
				break;
			}
		}
		q=q+1;
		for(j=1;q<d;q++)
		{	re[i][j]=s1[q];
		j++;}
		re[i][j]='\0';

	}
	for(i=0;i<n;i++)
		printf("%s\n",re[i]);
	

}
void main()
{
	char a[101],b[101];
	int c[101],e[101],*d,n,i,j,l1,l2;
	scanf("%d",&n);
	for (j=1;j<=n;j++)
	{
	   scanf("%s%s",a,b);
	   l1=strlen(a);
       l2=strlen(b);
	  
	   d=(int*)malloc((l1+l2)*sizeof(int));
	   for (i=l1-1;i>=0;i--)
	   {
		   c[i]=a[i]-48;
	   }
	    for (i=l1-1;i>=0;i--)
	   {
		   d[i]=b[i]-48;
		   if (i>=l2) d[i]=0;
	   }
		for (i=0;i<l2;i++)
		{
			d[i+l1]=d[i];
		}
		for (i=l1-1;i>=0;i--)
		{
			e[i]=c[i]-d[i+l2];
			if (e[i]<0) 
			{
				e[i]=e[i]+10;
				c[i-1]=c[i-1]-1;
			}
		}
		if (e[0]!=0) printf("%d",e[0]);
		for (i=1;i<=l1-2;i++)
		{
			printf("%d",e[i]);
		}
		printf("%d\n",e[l1-1]);

		
		

	}
}
void main()
{
	void minus(char n1[100],char n2[100]);
	char num1[100],num2[100];
	int n,i;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s%s",num1,num2);
		minus(num1,num2);
		printf("%s\n",num1);
	}
}
void minus(char n1[100],char n2[100])
{
	int a,b;
	int k;
	a=strlen(n1);
	b=strlen(n2);
	for(k=b-1;k>=0;k--)
	{
		if(n1[a-b+k]>=n2[k])n1[a-b+k]=n1[a-b+k]-n2[k]+48;
		else
		{
			n1[a-b+k-1]--;
			n1[a-b+k]=n1[a-b+k]-n2[k]+58;
		}
	}
}
void main()
{
        int n, result[100];
        char a[100], b[100], c[2];
        scanf("%d", &n);
        int i,s,t,j,k;
        for(i=0;i<n;i++)
        {
                gets(c);
                gets(a);
                gets(b);
                s=strlen(a);
                t=strlen(b);
                for (j=s-1; ;j--)
                {
                        if (a[j]>=b[j-s+t])
                                result[j] = a[j]-b[j-s+t];
                        else
                        {
                                result[j] = a[j]-b[j-s+t]+10;
                                a[j-1]--;
                        }
                        if (j-s+t==0)
                                break;
                }
                for(k=0; k<j; k++)
                        result[k]=a[k]-'0';
                if(j>0)
                {
                        for(k=0;k<s;k++)
                                printf("%d",result[k]);
                        printf("\n");
                }
                else
                {
                        for(k=0;k<s;k++)
                                if (result[k]!=0)
                                        break;
                        for(j=k;j<s;j++)
                                printf("%d",result[k]);
                        printf("\n");
                }
        }
}
void func2(char o[],int x)
{
	for (int u=0;u<x;u++)
		o[u]=0;
}
main()
{
	char *p1,*p2;
	char a[100]={0},b[100]={0},d[100]={0},e[100][100]={0};
	int c[100]={0};
	int i,j,k,m,n,g=0,t,v,l;
	scanf("%d\n",&v);
	for (k=0;k<v;k++)
	{
		scanf("%s\n",a);
	    scanf("%s",b);
		p1=a;
		p2=b;
        m=strlen(a);
	    n=strlen(b);
	    for (i=0;i<m-n;i++)
		    d[i]='0';
	    p2=strcat(d,b);
        for (j=m-1;j>=0;j--)
		{
		    c[j]=p1[j]-p2[j]+g;
		    if (c[j]<0)
			{
			    c[j]=c[j]+10;
			    g=-1;
			}
	    	else
		    	g=0;
		    t=m-j;
		    e[k][j]=c[j]+'0';
		}
		for (int h=0;h<m;h++)
		{
			if (e[k][h]=='0')
				e[k][h]=0;
			else
				break;
		}
		func2(a,m);
		func2(b,m);
		func2(d,m);
	}
	for (l=0;l<v;l++)
	    printf("%s\n",e[l]);
}
void main()
{
	char a[100]={'\0'},b[100]={'\0'},c[100]={'\0'},d[100]={'\0'},e[100]={'\0'},l;
	int n,i,j,h,k,t;
	scanf("%d\n",&n);
	for(i=1;i<=n;i++)
	{
		t=0;
		gets(a);
		gets(c);
		l=getchar();
	     h=strlen(a)-1;
		for(j=0;j<=h;j++)
		b[j]=a[h-j];
			k=strlen(c)-1;
		for(j=0;j<=k;j++)
		d[j]=c[k-j];
		for(j=k+1;j<=h;j++)
		d[j]='0';
		for(j=0;j<=h;j++)
		{
			if(b[j]>=d[j]) e[j]=b[j]-d[j];
			else {
				e[j]=b[j]+10-d[j];
				b[j+1]=b[j+1]-1;
			}
		}
			for(j=h;j>=0;j--)
			{
			if (e[j]>0) t=t+1;
			if (t>0) printf("%c",e[j]+48);
			}
			printf("\n");
	}
	
	
}
void main()
{
	int n,i,j,p,q,k;
	char a[100][100],b[100][100];
	scanf("%d",&n);
	for (i=0;i<n;i++)
	{
		getchar();
		gets(a[i]);
		gets(b[i]);
	}
	for (i=0;i<n;i++)
	{
		p=strlen(a[i]);
		q=strlen(b[i]);
		for (j=0;j<q;j++)
		{
			if (a[i][p-j-1]>=b[i][q-j-1])
				a[i][p-j-1]=a[i][p-j-1]-b[i][q-j-1]+48;
			else
			{
				a[i][p-j-1]=a[i][p-j-1]-b[i][q-j-1]+58;
				if (a[i][p-j-2]!=48)
					a[i][p-j-2]=a[i][p-j-2]-1;
				else
				{
					a[i][p-j-2]=57;
					for (k=3;;k++)
					{
						if (a[i][p-j-k]!=48)
						{
							a[i][p-j-k]--;
							break;
						}
						else
							a[i][p-j-k]=57;
					}
				}
			}
		}
		puts(a[i]);
	}
}
void minus(char a[],char b[]);
void ni(char a[]);
void tranvert(char m,char a[]);
void trans(char n,char m,char b[]);

void main()
{
    char k,i,m,n,a[30][100]={0},b[30][100]={0};
    scanf("%d",&k);
    for(i=0;i<k;i++)
    {
        scanf("%s",a[i]);    
        scanf("%s",b[i]);    
        m=strlen(a[i]);
        n=strlen(b[i]);//the result at most has m bits
        ni(a[i]);    
        ni(b[i]);
        trans(n,m,b[i]);
        minus(a[i],b[i]);
        tranvert(m,a[i]);    
        ni(a[i]);    
        printf("\n");

    }
    for(i=0;i<k;i++)
    {
        puts(a[i]);
    }
}





void minus(char a[],char b[])
{
    char i,t,m=strlen(a),jin=0;//experimental
    for(i=0;i<=m-1;i++)
    {
        t=a[i]-b[i]-jin;
        if(t>=0) {a[i]=t; jin=0;}
        else {a[i]=t+10; jin=1;}
    }
}

void ni(char a[])
{
    char i,t,m=strlen(a);
    for(i=0;i<m/2;i++)
    {
        t=a[i];
        a[i]=a[m-1-i];
        a[m-1-i]=t;
    }
}

void tranvert(char m,char a[])
{
        char i,j;  //n=strlen(a)
        for(i=m-1;i>=1;i--)
            if(a[i]!=0) break;
        for(j=i;j>=0;j--)
            a[j]+='0';
}

void trans(char n,char m,char b[])// add 0 so that b is as long as a
{    char i;
    for(i=n;i<=m-1;i++)
    b[i]='0';
}
int main()
{
	char a[100],b[100],c[100],d[100],e[100];
	int n,j,p,q,k,i;
	scanf("%d",&n);
	for(j=1;j<=n;j++)
	{
		scanf("%s",a);
		p=strlen(a);
		for(i=0;i<p;i++)
		{
			c[p-1-i]=a[i];
		}
		scanf("%s",b);
		q=strlen(b);
		for(i=0;i<q;i++)
		{
			d[q-1-i]=b[i];
		}
		for(i=q;i<p;i++)
		{
			d[i]='0';
		}
		for(i=0;i<p;i++)
		{
			if(c[i]>=d[i])
				e[i]=c[i]-d[i]+48;
			else
			{
				e[i]=10+c[i]-d[i]+48;
				for(k=i+1;k<p;k++)
				{
					if(k!=0)
					{
						c[k]=c[k]-1;
						break;
                                    }
					    
				}
                      }
		}
		for(i=p-1;i>=0;i--)
		{
			if(e[i]!='0')
			{
				break;
			}
		}
		for(k=i;k>=0;k--)
		{
			printf("%c",e[k]);
		}
		printf("\n");
    }
	return 0;
}
void chuli(char a[],char b[]){
  
  
  int la,m,i,j;
  
  m=strlen(b);
  la=strlen(a);
  for(i=0;i<m;i++){
	  if(a[la-1-i]>=b[m-1-i])
		  a[la-1-i]=a[la-1-i]-b[m-1-i]+48;
	  else{
		  
		  a[la-1-i]=a[la-1-i]+10-b[m-1-i]+48;
		  j=la-2-i;
		  while(a[j]==48){
			  a[j]=48+9;
			  j--;
		  }
		  a[j]=a[j]-1;
		  
	  }//*elsewai end
  }//*for end
  i=0;
  while(a[i]==48){
	  i=i+1;}
  
	  printf("%s\n",a);
  
}
void main(){
	char a[100][100],b[100][100];
	char p;
	int m,i;
	scanf("%d",&m);
	for(i=0;i<m;i++){
		scanf("%s",a[i]);scanf("%s",b[i]);
		
	}
	for(i=0;i<m;i++)
		chuli(a[i],b[i]);
}
void main()
{
	int n,i,j,lg1,lg2,t;
	char bjs[100][100],js[100][100];
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s",&bjs[i]);
		scanf("%s",&js[i]);
	}
	for(j=0;j<n;j++)
	{
		lg1=strlen(bjs[j]);
		lg2=strlen(js[j]);
		t=lg1-lg2;
		for(i=lg2-1;i>=0;i--)
		{
			if(bjs[j][t+i]-js[j][i]>=0)
				bjs[j][t+i]=bjs[j][t+i]-js[j][i]+48;
			else
			{
				bjs[j][t+i]=bjs[j][t+i]-js[j][i]+48+10;
				bjs[j][t+i-1]=bjs[j][t+i-1]-1;
			}
		}
		printf("%s\n",bjs[j]);
	}
}
void main()
{
	int n,i,j,longa[100],longb[100],t[100];
	char a[100][101],b[100][101],c[100][101];
	scanf("%d",&n);getchar();
	for(i=0;i<n;i++)
	{
		gets(a[i]);
		gets(b[i]);
		getchar();
		longa[i]=strlen(a[i])-1;
		longb[i]=strlen(b[i])-1;
	}
	for(i=0;i<n;i++)
	{
		for(j=0;j<=longa[i];j++)
		{
			if(j<=longb[i]) 
			{
				c[i][longa[i]-j]=a[i][longa[i]-j]-b[i][longb[i]-j]+48;
				if(c[i][longa[i]-j]<48)
				{
					c[i][longa[i]-j]=c[i][longa[i]-j]+10;
					a[i][longa[i]-j-1]--;
				}
			}
			else c[i][longa[i]-j]=a[i][longa[i]-j];
		}
		for(j=0,t[i]=0;j<=longa[i];j++)
		{
			if(c[i][j]==48) t[i]++; 
			else break;
		}
		for(j=t[i];j<longa[i];j++)
			printf("%c",c[i][j]);
		printf("%c\n",c[i][longa[i]]);
	}
}
int main()
{
	char a[200],b[200];
	int n;
	cin>>n;
	while(n>=1)
	{
	int c[200]={0},d[200]={0},e[200]={0},le1,le2,i,j,m;
	cin>>a;
	cin>>b;
	le1=strlen(a);
	le2=strlen(b);

	for(i=0,j=le1-1;i<=le1-1,j>=0;i++,j--)
		c[i]=a[j]-'0';
	for(i=0,j=le2-1;i<=le2-1,j>=0;i++,j--)
		d[i]=b[j]-'0';

	for(i=0;i<=199;i++)
		{
		if(c[i]>=d[i])
			e[i]=c[i]-d[i];
		if(c[i]<d[i])
			{
			e[i]=10+c[i]-d[i];
			c[i+1]=c[i+1]-1;
			}

		}

	for(i=199;i>=0;i--)
		if(e[i]!=0)
		{
			m=i;
			break;
		}
	for(i=m;i>=0;i--)
		cout<<e[i];
	cout<<endl;
	n--;
	}
	return 0;
}
void main()
{
	char max[100],min[100],result[100];
	int n,i,a,b,j,k;
	scanf("%d",&n);
	for(i=1;i<=n;i++)
	{
		scanf("%s%s",max,min);
		a=strlen(max);
		b=strlen(min);
		k=0;
		if(a==b)
		{
			for(j=(a-1);j>=0;j--)
			{
				max[j]=max[j]-k;
				if(max[j]>=min[j])
				{
					result[j]=max[j]-min[j]+48;
					k=0;
				}
				else
				{
					result[j]=max[j]-min[j]+58;
					k=1;
				}
			}
		}
		else
		{
			min[a]='\0';
			for(j=1;j<=b;j++)
				min[a-j]=min[b-j];
			for(j=(a-b-1);j>=0;j--)
				min[j]='0';
			for(j=(a-1);j>=0;j--)
			{
				max[j]=max[j]-k;
				if(max[j]>=min[j])
				{
					result[j]=max[j]-min[j]+48;
					k=0;
				}
				else
				{
					result[j]=max[j]-min[j]+58;
					k=1;
				}
			}
		}
		for(j=0;j<a;j++)
		{
			if(result[j]!='0')
			{
				for(k=j;k<a;k++)
					printf("%c",result[k]);
				printf("\n");
			}
			break;
		}

	}
}
void main()
{
   char beijian[200],jian[200],jian2[200],result[200];
   int i=0,j=0,l1,l2,n;
     scanf("%d",&n);
   for(j=0;j<n;j++)
   {
      for(i=0;i<100;i++)
   {
	   jian2[i]=48;
	   result[i]=48;
   }
   jian2[99]=0;
   result[99]=0;
 
   scanf("%s",beijian);
	  scanf("%s",jian);
      l1=strlen(beijian);
      l2=strlen(jian);
	  if(l1==l2)
      {
	  for(i=l1-1;i>=0;i--)
	  {
	     if(beijian[i]<jian[i])
		 {
	        beijian[i]=beijian[i]+10;
	        beijian[i-1]=beijian[i-1]-1;
		 }
 	     result[i]=beijian[i]-jian[i]+48;
	  }
	  result[l1]='\0';
	  }
      else
      {
		  for(i=l1-1;i>=l1-l2;i--) jian2[i]=jian[i-l1+l2];
 	  for(i=l1-1;i>=0;i--)
	  {
		  if(beijian[i]<jian2[i])
		 {
	        beijian[i]=beijian[i]+10;
	        beijian[i-1]=beijian[i-1]-1;
		 }
	     result[i]=beijian[i]-jian2[i]+48;
	  }
	  result[l1]='\0';
      }
	  for(i=0;i<l1;i++)
	  {
		  if(result[i]!=0&&result[i]!=48) break;
	  }
      while(result[i]!='\0') printf("%c",result[i++]);
      printf("\n");
   }
}
int main()
{
   int len1,len2,n,i,j,k,result[1000];
   char num1[101],num2[101];
   cin>>n;
   for(i=1;i<=n;i++)
   {
       int a[1000]={0};
       int b[1000]={0};
	   int result[1000]={0};
	   cin>>num1>>num2;
       
      len2=strlen(num2);
      len1=strlen(num1);
		 
	  
	  
	 for(j=len1-1,k=0;j>=0;j--,k++)
		  {
             a[k]=num1[j]-'0';
			 
		  }
		  for(j=len2-1,k=0;j>=0;j--,k++)
		  {
             b[k]=num2[j]-'0';
		  }
		  
		  
		  
		  for(k=0;k<=len1-1;k++)
		  {
			  result[k]=result[k]+a[k]-b[k];
		      if(result[k]<0)
			  {
				  result[k+1]--;
			      result[k]+=10;
			  }
		  
		  
		  
		  }
          for(k=len1-1;k>=0;k--)
		  {
			  cout<<result[k];
		  }
          cout<<endl;
   
   
   
   
   }
	
   


		  
   return 0;
}
int main()
{
	int n,i,j;
    scanf("%d",&n);
	char a[100],b[100];
	for(j=0;j<n;j++)
	{
	   scanf("%s",a);
	   scanf("%s",b);
	
	   int r=strlen(a);
	   int t=strlen(b);
 	   char *p1,*p2,*p3;
		p1=a;
		p2=b;
		p3=(char *)malloc((r+1)*sizeof(char));
		strcpy(p3,a);
	   for( i=1;i<=t;i++)
	   {
		    if(p1[r-i]-p2[t-i]<0)
			{
			  p3[r-i]=p1[r-i]+10-p2[t-i]+'0';
			  p1[r-i-1]--;
			  p3[r-i-1]--;
			}
		    else
			{
		      p3[r-i]=p1[r-i]-p2[t-i]+'0';
			}
	   }
	
    printf("%s\n",p3);
    free(p3);
	}
return 0;
}
int a[10000]={0},b[10000]={0},c[10000],d[10000];

void jian(int a[10000],int b[10000])
{
    int i,j,k,m;
    for (i=0;i<=9000;i++) c[i]=0;
    m=a[0]+b[0]-1;
    for (i=1;i<=a[0]+b[0]-1;i++)
    {
        c[i]=c[i]+a[i]-b[i];
        if (c[i]<0)
        {
            c[i+1]=-1;
            c[i]+=10;
        }
    }
    j=m+10;
    while (j>1&&c[j]==0) j--;
    for (i=1;i<=a[0]+1;i++)
    a[i]=c[i];
    a[0]=j;
    for (i=j;i>=1;i--)
    cout <<a[i];
    cout <<endl;
}

int main()
{
    int i,j,k,m,n;
    int len1=0,len2=0;
    char s1[10000],s2[10000];
    cin >>n;
    for (j=1;j<=n;j++)
    {
    for (i=0;i<=9000;i++) {a[i]=0;b[i]=0;}
    cin >>s1;
    cin >>s2;
    len1=strlen(s1);
    len2=strlen(s2);
    a[0]=len1;
    b[0]=len2;
    for (i=1;i<=len1;i++)
    a[len1-i+1]=((int)s1[i-1])-48;
    for (i=1;i<=len2;i++)
    b[len2-i+1]=((int)s2[i-1])-48;
    jian(a,b);
    }
    return 0;
}
int main(int argc, char *argv[])
{
  char a[100],b[100],c[100],f[100],e[100];
  int i,m,k,n;
  int d[100];
  scanf("%d",&n);
  while(n>0)
  {
  scanf("%s",a);
  m=strlen(a);
  scanf("%s",b);
  k=strlen(b);
  for(i=0;i<m;i++)
  f[i]=a[m-1-i];
  
  for(i=0;i<k;i++)
  e[i]=b[k-1-i];
  for(i=k;i<m;i++)
  e[i]='0';
  for(i=0;i<m;i++)
  d[i]=f[i]-e[i];
  for(i=0;i<m;i++)
  if(d[i]<0)
  {
  d[i]=d[i]+10;
  d[i+1]=d[i+1]-1;}
  for(i=0;i<m;i++)
  c[i]=d[i]+'0';
  
  
  
  int num=0;
  for(i=m-1;i>=0;i--)
  {if(num)
  {printf("%c",c[i]);continue;}
   if(c[i]!='0')
  {printf("%c",c[i]);
  num=1;}
  }
  printf("\n");
  n--;
}
  
  return 0;
}