#include<bits/stdc++.h>
using namespace std;
char c1[11000],c2[11000],tmp[11000],tmp1;
int a[11000],b[11000],c[11000];
int main() {
scanf("%s %s",c1,c2);
int lenc1=strlen(c1);
int lenc2=strlen(c2);
bool flag2=false;
if(lenc1<lenc2) {
// cout<<"交换\n";
if(flag2==false) {
// printf("-");
flag2=true;
for(int i=0; i<lenc1; i++) {
tmp[i]=c1[i];
}
for(int i=0; i<lenc2; i++) {
c1[i]=c2[i];
}
for(int i=0; i<lenc1; i++) {
c2[i]=tmp[i];
}
tmp1=lenc1;
lenc1=lenc2;
lenc2=tmp1;
}
}
// for(int i=0;i<lenc1;i++){
// printf("%c ",c1[i]);
// }cout<<endl;
// for(int i=0;i<lenc2;i++){
// printf("%c ",c2[i]);
// }cout<<endl;
if(lenc1==lenc2) {
for(int i=0; i<lenc1; i++) {
if(c1[i]>c2[i]) {
break;
} else if(c1[i]<c2[i]) {
// cout<<"交换\n";
if(flag2==false) {
// cout<<"-";
flag2=true;
for(int i=0; i<lenc1; i++) {
tmp[i]=c1[i];
}
for(int i=0; i<lenc2; i++) {
c1[i]=c2[i];
}
for(int i=0; i<lenc1; i++) {
c2[i]=tmp[i];
}
tmp1=lenc1;
lenc1=lenc2;
lenc2=tmp1;
break;
}
}
}
}
// for(int i=0;i<lenc1;i++){
// printf("%c ",c1[i]);
// }cout<<endl;
// for(int i=0;i<lenc2;i++){
// printf("%c ",c2[i]);
// }cout<<endl;
int j=0;
for(int i=lenc1-1; i>=0; i--) {
a[j]=c1[i]-'0';
j++;
}
j=0;
for(int i=lenc2-1; i>=0; i--) {
b[j]=c2[i]-'0';
j++;
}
for(int i=0; i<max(lenc1,lenc2); i++) {
c[i]=a[i]-b[i];
}
for(int i=0; i<max(lenc1,lenc2); i++) {
while(c[i]<0) {
c[i]+=10;
c[i+1]--;
}
}
bool flag=false;
if(flag2==true){
printf("-");
}
for(int i=max(lenc1,lenc2); i>=0; i--) {
if(flag==false&&c[i]==0) {
} else {
printf("%d",abs(c[i]));
flag=true;
}
}
}