// 复杂交换= ifse讨论
// 传入的都是反置的
include[HTML_REMOVED]
include[HTML_REMOVED]
include[HTML_REMOVED]
include[HTML_REMOVED]
include[HTML_REMOVED]
using namespace std;
bool cmp(vector[HTML_REMOVED] &A, vector[HTML_REMOVED] &B){
if (A.size() > B.size()) return true;
if (A.size() < B.size()) return false;
for(int i = A.size()-1 ; i >= 0 ; i–)
if(A[i]!=B[i]) return(A[i] > B[i]);
return true;
}
vector[HTML_REMOVED] sub(vector[HTML_REMOVED] &A,vector[HTML_REMOVED] &B){
vector[HTML_REMOVED] C;
//判断大小
bool flag = false;
int a,b;
for(int i = 0 ; i < A.size(); i++){
a = A[i];
b = 0;
if(flag) a–;
if (i < B.size()) b = B[i];
if(a < b) flag = true, a += 10;
else flag = false;
C.push_back(a - b);
}
while(C.size() > 1 && C.back()== 0) C.pop_back();
return C;
}
int main(){
string a,b;
vector[HTML_REMOVED] A,B;
cin>>a>>b;
for(int i = a.size()-1; i >=0 ; i–) A.push_back(a[i]-‘0’);//12345
for(int i = b.size()-1; i >= 0; i–) B.push_back(b[i]-‘0’);//54321
if(!cmp(A, B)) {
cout<<"-";
auto C = sub(B, A);
for(int i = C.size()-1; i >=0;i--)
cout<<C[i];
}
else {
auto C = sub(A, B);
for(int i = C.size()-1; i >=0;i--)
cout<<C[i];
}
}