#include<bits/stdc++.h>
using namespace std;
const int MAN=250,MAM=300;
int a[MAN],b[MAN],c[MAM];
string s1,s2;
string sum(string s1,string s2)
{
memset(a,0,sizeof(int)*MAN);
memset(b,0,sizeof(int)*MAN);
memset(c,0,sizeof(int)*MAM);
bool is=false;
if(s1.length()<s2.length()||(s1.length()==s2.length()&&s1<s2))
{
swap(s1,s2);
is=true;
}
int len=s1.length();
for(int i=0;i<len;i++)
{
a[len-1-i]=s1[i]-'0';
}
len=s2.length();
for(int i=0;i<len;i++)
{
b[len-1-i]=s2[i]-'0';
}
len=s1.length();
for(int i=0;i<len;i++)
{
if(a[i]<b[i])
{
a[i+1]--;
a[i]+=10;
}
c[i]=a[i]-b[i];
while(c[len-1]==0&&len>1)len--;
string ans;
if(is)ans="-";
for(int i=len-1;i>=0;i--)
{
ans+=c[i]+'0';
}
return ans;
}
}
int main()
{
cin>>s1>>s2;
string ans=sum(s1,s2);
cout<<ans;
return 0;
}
using namespace std;
const int MAN=250,MAM=300;
int a[MAN],b[MAN],c[MAM];
string s1,s2;
string sum(string s1,string s2)
{
memset(a,0,sizeof(int)*MAN);
memset(b,0,sizeof(int)*MAN);
memset(c,0,sizeof(int)*MAM);
bool is=false;
if(s1.length()<s2.length()||(s1.length()==s2.length()&&s1<s2))
{
swap(s1,s2);
is=true;
}
int len=s1.length();
for(int i=0;i<len;i++)
{
a[len-1-i]=s1[i]-'0';
}
len=s2.length();
for(int i=0;i<len;i++)
{
b[len-1-i]=s2[i]-'0';
}
len=s1.length();
for(int i=0;i<len;i++)
{
if(a[i]<b[i])
{
a[i+1]--;
a[i]+=10;
}
c[i]=a[i]-b[i];
while(c[len-1]==0&&len>1)len--;
string ans;
if(is)ans="-";
for(int i=len-1;i>=0;i--)
{
ans+=c[i]+'0';
}
return ans;
}
}
int main()
{
cin>>s1>>s2;
string ans=sum(s1,s2);
cout<<ans;
return 0;
}