#include<bits/stdc++.h>
using namespace std;
const int M = 1e6+50;
int arr[M],brr[M],crr[M];
double n;
string s1,s2;
int check(string s1,string s2){
int cd1 = s1.size();
int cd2 = s2.size();
if( cd1!=cd2 ) return cd1>cd2;
for( int i = cd1-1 ; i >= 0 ; i-- ){
if(s1[i]!=s2[i]){
return s1[i]>s2[i];
}
}
return 2;
}
int flag=0;
void minuss(string s1,string s2){
if(check(s1,s2)==0){
flag=1;
swap(s1,s2);
}
int cd1=s1.size();
int cd2=s2.size();
reverse(s1.begin(),s1.end());
reverse(s2.begin(),s2.end());
for(int i=0;i<cd1;i++) arr[i]=s1[i]-'0';
for(int i=0;i<cd2;i++) brr[i]=s2[i]-'0';
int cd3 = max(cd1,cd2);
// for(int i=0;i<cd1;i++) cout<<arr[i]<<" ";
// cout<<endl;
// for(int i=0;i<cd2;i++) cout<<brr[i]<<" ";
// cout<<endl;
for(int i=0;i<cd3;i++){
//cout<<arr[i]<<" "<<brr[i]<<endl;
if(arr[i]<brr[i]) arr[i]+=10,arr[i+1]--;
crr[i]=arr[i]-brr[i];
}
reverse(crr,crr+cd3);
int i = 0;
while(crr[i]==0 && i<cd3-1)i++;
if(flag==1) cout<<"-";
for(;i<cd3;i++)cout<<crr[i];
}
int main(){
cin>>s1>>s2;
minuss(s1,s2);
return 0;
}