#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
using namespace std;
int const maxn = 100005;
char A[maxn],B[maxn];
int fa,fb;
void add(char* a,char* b)
{
int c[maxn], la = strlen(a)-1, lb = strlen(b)-1, cnt = 0, num = 0 ;
if(fa)
cout<<"-";
while(la>=fa&&lb>=fb)
{
c[num++] = (a[la] -'0'+ b[lb]-'0' + cnt)%10 ;
cnt = (a[la--] -'0'+ b[lb--]-'0' + cnt)/10;
}
while(la>=fa)
{
c[num++] = (a[la]-'0' + cnt)%10;
cnt = (a[la--]-'0'+cnt)/10;
}
while(lb>=fb)
{
c[num++] = (b[lb] -'0'+ cnt)%10;
cnt = (b[lb--]-'0'+cnt)/10;
}
if(cnt)
c[num++]=cnt;
for(int i = num-1 ; i>=0 ; i--)
cout<<c[i];
cout<<endl;
}
int cmp(char *a, char *b)
{
int i, la = strlen(a), lb = strlen(b);
if(la-fa>lb-fb)
return 1;
else if(la-fa<lb-fb)
return 0;
else
{
for(i=0; i<la && a[i+fa]==b[i+fb]; ++i);
return a[i+fa]>b[i+fb];
}
}
void minu(char *a,char *b)
{
if(!cmp(a,b))
{
if(fb)
cout<<"-";
char *t;
t = a ; a = b ; b = t ;
int f;
f = fa ; fa = fb ; fb = f;
}
else if(fa)
cout<<"-";
int la = strlen(a)-1, lb = strlen(b)-1, cnt=0, num = 0, c[maxn];
while(la>=fa&&lb>=fb)
{
c[num++] = (a[la] - '0' - cnt - (b[lb] - '0') + 10 )%10;
cnt = (a[la--]-'0'-cnt < (b[lb--] - '0'));
}
while(la>=fa)
{
c[num++] = (a[la] - '0' - cnt + 10 )%10;
cnt = (a[la--]-'0'-cnt < 0);
}
int i = num-1 ;
for(; i>=0 ; i--)
if(c[i])
break;
for( ;i>=0 ; i--)
cout<<c[i];
cout<<endl;
}
int main()
{
cin>>A>>B;
fa = (A[0]=='-');
fb = (B[0]=='-');
if(fa!=fb)
minu(A,B);
else
add(A,B);
return 0;
}
#include <cstdio>
#include <cstring>
#include <cmath>
using namespace std;
int const maxn = 100005;
char A[maxn],B[maxn];
int fa,fb;
void add(char* a,char* b)
{
int c[maxn], la = strlen(a)-1, lb = strlen(b)-1, cnt = 0, num = 0 ;
if(fa)
cout<<"-";
while(la>=fa&&lb>=fb)
{
c[num++] = (a[la] -'0'+ b[lb]-'0' + cnt)%10 ;
cnt = (a[la--] -'0'+ b[lb--]-'0' + cnt)/10;
}
while(la>=fa)
{
c[num++] = (a[la]-'0' + cnt)%10;
cnt = (a[la--]-'0'+cnt)/10;
}
while(lb>=fb)
{
c[num++] = (b[lb] -'0'+ cnt)%10;
cnt = (b[lb--]-'0'+cnt)/10;
}
if(cnt)
c[num++]=cnt;
for(int i = num-1 ; i>=0 ; i--)
cout<<c[i];
cout<<endl;
}
int cmp(char *a, char *b)
{
int i, la = strlen(a), lb = strlen(b);
if(la-fa>lb-fb)
return 1;
else if(la-fa<lb-fb)
return 0;
else
{
for(i=0; i<la && a[i+fa]==b[i+fb]; ++i);
return a[i+fa]>b[i+fb];
}
}
void minu(char *a,char *b)
{
if(!cmp(a,b))
{
if(fb)
cout<<"-";
char *t;
t = a ; a = b ; b = t ;
int f;
f = fa ; fa = fb ; fb = f;
}
else if(fa)
cout<<"-";
int la = strlen(a)-1, lb = strlen(b)-1, cnt=0, num = 0, c[maxn];
while(la>=fa&&lb>=fb)
{
c[num++] = (a[la] - '0' - cnt - (b[lb] - '0') + 10 )%10;
cnt = (a[la--]-'0'-cnt < (b[lb--] - '0'));
}
while(la>=fa)
{
c[num++] = (a[la] - '0' - cnt + 10 )%10;
cnt = (a[la--]-'0'-cnt < 0);
}
int i = num-1 ;
for(; i>=0 ; i--)
if(c[i])
break;
for( ;i>=0 ; i--)
cout<<c[i];
cout<<endl;
}
int main()
{
cin>>A>>B;
fa = (A[0]=='-');
fb = (B[0]=='-');
if(fa!=fb)
minu(A,B);
else
add(A,B);
return 0;
}