#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
char rev( char *x)
{
for(int i=0;i<l/2;i++)
{
temp = x[i];
x[i] = x[l - i - 1];
x[l - i - 1] = temp;
}
}
void solve (char *x)
{
for(int i=0;i<length;i++)
{
x[i] = x[i + 1];
if(i == length - 1)
{
x[length - 1] = '\0';
length--;
}
}
}
void swap(char *x1,char *x2)
{
char temp[1000];
}
void plus(char *x1,char *x2, char *r,int *q)
{
int tmp = 0,t = 0;
for(int i=l-1;i>=0;i--)
{
int k = x1[i] + x2[i] - 48 - 48 + tmp;
if(k>9)
{
tmp = 1;
r[t++] = k%10 + 48;
}else {
tmp=0;
r[t++] = k + 48 ;
}
}
*q=t;
}
void subtract(char *x1,char *x2, char *r,int *q)
{
int tmp = 0,t = 0;
for(int i=l-1;i>=0;i--)
{
int k = -x1[i] + x2[i] + tmp;
if(k<0)
{
tmp = -1;
r[t++] = (k+10)%10 + 48;
}else {
tmp=0;
r[t++] = k + 48 ;
}
}
*q=t;
}
int main()
{
int test;
while(test--)
{
char s1[1001],s2[1001];
int th1=0,th2=0,th3=0;
if(s1[0] == '-')
{
solve(s1);
th1=1;
}
if(s2[0] == '-')
{
solve(s2);
th2=1;
}
/*
th1: a<0 b<0 b-a
th2: a<0 b>0 b+a
th3: a>0 b>0 b-a
*/
int tmp=0;
char res[1002];
int t=0;
int kt=0;
if(l1<l2)
{
char d[10];
rev(s1);
{
}
rev(s1);
if(th1 == 1 && th2 == 0)plus(s1,s2,res,&t);
else if(th1 == 0 && th2 == 1)plus(s1,s2,res,&t);
else subtract(s1,s2,res,&t);
}else{
for(int i=0;i<=l2;i++)
{
if(s1[i] > s2[i])
{
kt = 1;
break;
}
}
if(kt == 1)swap(s1,s2);
subtract(s1,s2,res,&t);
}
int j=t-1;
if(res[t-1] == '0')
{
for(int i=t-1;i>=0;i--)
{
if(res[i] != '0')
{
j=i;
break;
}
}
}
for(int i
=j
;i
>=0;i
--)printf("%c",res
[i
]); }
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPG1hdGguaD4KI2luY2x1ZGUgPHN0cmluZy5oPgoKY2hhciByZXYoIGNoYXIgKngpCnsKICAgIGludCB0ZW1wLGwgPSBzdHJsZW4oeCk7CiAgICBmb3IoaW50IGk9MDtpPGwvMjtpKyspCiAgICB7CiAgICAgICAgdGVtcCA9IHhbaV07CiAgICAgICAgeFtpXSA9IHhbbCAtIGkgLSAxXTsKICAgICAgICB4W2wgLSBpIC0gMV0gPSB0ZW1wOwogICAgfQp9CnZvaWQgc29sdmUgKGNoYXIgKngpCnsKICAgIGludCBsZW5ndGggPSBzdHJsZW4oeCk7CiAgICBmb3IoaW50IGk9MDtpPGxlbmd0aDtpKyspCiAgICB7CiAgICAgICAgeFtpXSA9IHhbaSArIDFdOwogICAgICAgIGlmKGkgPT0gbGVuZ3RoIC0gMSkKICAgICAgICB7CiAgICAgICAgICAgIHhbbGVuZ3RoIC0gMV0gPSAnXDAnOwogICAgICAgICAgICBsZW5ndGgtLTsKICAgICAgICB9CiAgICB9Cn0Kdm9pZCBzd2FwKGNoYXIgKngxLGNoYXIgKngyKQp7CiAgICBjaGFyIHRlbXBbMTAwMF07CiAgICBzdHJjcHkodGVtcCx4MSk7CiAgICBzdHJjcHkoeDEseDIpOwogICAgc3RyY3B5KHgyLHRlbXApOwp9CnZvaWQgcGx1cyhjaGFyICp4MSxjaGFyICp4MiwgY2hhciAqcixpbnQgKnEpCnsKICAgIGludCB0bXAgPSAwLHQgPSAwOwogICAgaW50IGwgPSBzdHJsZW4oeDIpOwogICAgZm9yKGludCBpPWwtMTtpPj0wO2ktLSkKICAgIHsKICAgICAgICBpbnQgayA9IHgxW2ldICsgeDJbaV0gLSA0OCAtIDQ4ICsgdG1wOwogICAgICAgIGlmKGs+OSkKICAgICAgICB7CiAgICAgICAgICAgIHRtcCA9IDE7CiAgICAgICAgICAgIHJbdCsrXSA9IGslMTAgKyA0ODsKICAgICAgICB9ZWxzZSB7CiAgICAgICAgICAgIHRtcD0wOwogICAgICAgICAgICByW3QrK10gPSBrICsgNDggOwogICAgICAgIH0KICAgIH0KICAgICpxPXQ7Cn0Kdm9pZCBzdWJ0cmFjdChjaGFyICp4MSxjaGFyICp4MiwgY2hhciAqcixpbnQgKnEpCnsKICAgIGludCB0bXAgPSAwLHQgPSAwOwogICAgaW50IGwgPSBzdHJsZW4oeDIpOwogICAgZm9yKGludCBpPWwtMTtpPj0wO2ktLSkKICAgIHsKICAgICAgICBpbnQgayA9IC14MVtpXSArIHgyW2ldICsgdG1wOwogICAgICAgIGlmKGs8MCkKICAgICAgICB7CiAgICAgICAgICAgIHRtcCA9IC0xOwogICAgICAgICAgICByW3QrK10gPSAoaysxMCklMTAgKyA0ODsKICAgICAgICB9ZWxzZSB7CiAgICAgICAgICAgIHRtcD0wOwogICAgICAgICAgICByW3QrK10gPSBrICsgNDggOwogICAgICAgIH0KICAgIH0KICAgICpxPXQ7Cn0KaW50IG1haW4oKQp7CiAgICBpbnQgdGVzdDsKICAgIHNjYW5mKCIlZCIsJnRlc3QpOwogICAgZ2V0Y2hhcigpOwogICAgd2hpbGUodGVzdC0tKQogICAgewogICAgICAgIGNoYXIgczFbMTAwMV0sczJbMTAwMV07CiAgICAgICAgc2NhbmYoIiVzJXMiLHMxLHMyKTsKICAgICAgICBpZihzdHJsZW4oczEpPnN0cmxlbihzMikpc3dhcChzMSxzMik7CiAgICAgICAgaW50IHRoMT0wLHRoMj0wLHRoMz0wOwogICAgICAgIGlmKHMxWzBdID09ICctJykKICAgICAgICB7CiAgICAgICAgICAgIHNvbHZlKHMxKTsKICAgICAgICAgICAgdGgxPTE7CiAgICAgICAgfQogICAgICAgIGlmKHMyWzBdID09ICctJykKICAgICAgICB7CiAgICAgICAgICAgIHNvbHZlKHMyKTsKICAgICAgICAgICAgdGgyPTE7CiAgICAgICAgfQogICAgICAgIGludCBsMSA9IHN0cmxlbihzMSksbDIgPSBzdHJsZW4oczIpOwogICAgICAgIC8qCiAgICAgICAgICAgIHRoMTogYTwwIGI8MCAgYi1hCiAgICAgICAgICAgIHRoMjogYTwwIGI+MCAgYithCiAgICAgICAgICAgIHRoMzogYT4wIGI+MCAgYi1hCiAgICAgICAgKi8KICAgICAgICBpbnQgdG1wPTA7CiAgICAgICAgY2hhciByZXNbMTAwMl07CiAgICAgICAgaW50IHQ9MDsKICAgICAgICBpbnQga3Q9MDsKICAgICAgICBpZihsMTxsMikKICAgICAgICB7CiAgICAgICAgICAgIGNoYXIgZFsxMF07CiAgICAgICAgICAgIHN0cmNweShkLCIwIik7CiAgICAgICAgICAgIHJldihzMSk7CiAgICAgICAgICAgIHdoaWxlKHN0cmxlbihzMSk8bDIpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHN0cmNhdChzMSxkKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXYoczEpOwogICAgICAgICAgICBpZih0aDEgPT0gMSAmJiB0aDIgPT0gMClwbHVzKHMxLHMyLHJlcywmdCk7CiAgICAgICAgICAgIGVsc2UgaWYodGgxID09IDAgJiYgdGgyID09IDEpcGx1cyhzMSxzMixyZXMsJnQpOwogICAgICAgICAgICBlbHNlIHN1YnRyYWN0KHMxLHMyLHJlcywmdCk7CiAgICAgICAgfWVsc2V7CiAgICAgICAgICAgIGZvcihpbnQgaT0wO2k8PWwyO2krKykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYoczFbaV0gPiBzMltpXSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBrdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYoa3QgPT0gMSlzd2FwKHMxLHMyKTsKICAgICAgICAgICAgc3VidHJhY3QoczEsczIscmVzLCZ0KTsKICAgICAgICB9CiAgICAgICAgaW50IGo9dC0xOwogICAgICAgIGlmKHJlc1t0LTFdID09ICcwJykKICAgICAgICB7CiAgICAgICAgICAgIGZvcihpbnQgaT10LTE7aT49MDtpLS0pCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGlmKHJlc1tpXSAhPSAnMCcpIAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGo9aTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBmb3IoaW50IGk9ajtpPj0wO2ktLSlwcmludGYoIiVjIixyZXNbaV0pOwogICAgICAgIHByaW50ZigiXG4iKTsKICAgIH0KICAgIHJldHVybiAwOwp9