rendered paste body#include<stdio.h>
#include<string.h>
void rev(char s[])
{
int c,i,j;
for(i=0,j=strlen(s)-1;i<j;i++,j--)
{
c=s[i];
s[i]=s[j];
s[j]=c;
}
}
char* sub(char a[],char b[])
{
int m=strlen(a),n=strlen(b);
int i;
int j;
int borrow=0;
char x[10000],y[10000];
strcpy(x,a);
strcpy(y,b);
rev(y);
for(i=0;i<(m-n);i++)
strcat(y,"0");
rev(x);
char res[10000];
for(j=0;j<m;j++)
{
x[j]-=borrow;
if((x[j]-'0')<(y[j]-'0'))
{
res[j]=x[j]-'0'+10-(y[j]-'0')+'0';
borrow=1;
}
else
{
res[j]=x[j]-'0'-(y[j]-'0')+'0';
borrow=0;
}
}
res[j]='\0';
if(res[strlen(res)-1]=='0')
res[strlen(res)-1]='\0';
rev(res);
return res;
}
int main()
{
int i,x,carry=0,l,l1,x1,j,z;
char num[1000],diff[1000],tmp[1000],ans[1000],ans1[1000],ans3[1000],t;
for(z=0;z<10;z++)
{
scanf("%s",num);
strcpy(tmp,num);
scanf("%s",diff);
if(strcmp(num,diff)==0)
{
printf("%s\n",num);
printf("0\n");
continue;
}
x=(int)num[0]-48;
if(x%2!=0)
{
for(i=l-1;i>=0;i--)
{
if((int)num[i]-48==9)
{
num[i]='0';
continue;
}
x=(int)(num[i])-48;
x=x+49;
num[i]=(char)(x);
break;
}
if((int)num[0]-48==0)
{
num[0]='1';
num[l]='0';
num[l+1]='\0';
}
}
strcpy(ans,sub(num,diff));
l=strlen(ans);
t=0;
for(i=0;i<l;i++)
{
if((int)ans[i]-48==0)
{
continue;
}
tmp[t++]=ans[i];
break;
}
for(j=i+1;j<l;j++)
{
tmp[t++]=ans[j];
}
tmp[t]='\0';
strcpy(ans,tmp);
l=strlen(ans);
carry=0;
for(i=0;i<l;i++)
{
x=(int)ans[i]-48;
if(carry==1)
{
if(x%2!=0)
{
carry=1;
}
else
{
carry=0;
}
x=x/2+48+5;
ans[i]=(char)x;
continue;
}
if(x%2!=0)
{
carry=1;
}
else
{
carry=0;
}
x=(int)ans[i]-48;
x=x/2+48;
ans[i]=(char)x;
}
strcpy(ans3,sub(num,ans));
l=strlen(ans);
t=0;
for(i=0;i<l;i++)
{
if((int)ans3[i]-48==0)
{
continue;
}
tmp[t++]=ans3[i];
break;
}
for(j=i+1;j<l;j++)
{
tmp[t++]=ans3[j];
}
tmp[t]='\0';
strcpy(ans3,tmp);
if(strcmp(ans3,ans)>0)
{
printf("%s\n",ans3);
printf("%s\n",ans);
}
else
{
printf("%s\n",ans);
printf("%s\n",ans3);
}
}
return 0;
}