#include<iostream> #include<string> #include<vector> using namespace std; int cmp(vector<int>n,vector<int>m) { if(n.size()>m.size()||n==m){ return 1; } else if(n.size()==m.size()){ for(int i=n.size()-1;i>=0;i--) { if(n[i]!=m[i])return n[i]>m[i]; } } else if(n.size()<m.size())return 0; } vector<int> sub(vector<int>&n,vector<int>&m) { vector<int>c; int t=0; for(int i=0;i<n.size();i++){ t=n[i]-t; if(i<m.size())t-=m[i]; c.push_back((t+10)%10);//在t<0时和t>0时,都成立 if(t<0)t=1; else t=0; } while(c.size()>1&&c.back()==0)c.pop_back();//除去前导0; return c; } int main() { string s,d; cin>>s>>d; vector<int>n,m; for(int i=s.size()-1;i>=0;i--)n.push_back(s[i]-'0'); for(int i=d.size()-1;i>=0;i--)m.push_back(d[i]-'0'); vector<int>c; if(cmp(n,m)){ c=sub(n,m); for(int i=c.size()-1;i>=0;i--){ printf("%d",c[i]); } } else { c=sub(m,n); printf("-"); for(int i=c.size()-1;i>=0;i--)printf("%d",c[i]); } }