#include <stdio.h>
#include <algorithm>
#include <iostream>
#include <math.h>
#include <string>
#include <vector>
using namespace std;
class reduce
{
public:
reduce();
reduce(string s);
vector<int> vec;
};
reduce::reduce()
{
vec.push_back(0);
}
reduce::reduce(string s)
{
for(int i=s.size()-1;i>=0;i--)
{
// cout<<i<<endl;
vec.push_back(s[i]-'0');
// cout<<"ok"<<endl;
}
}
void caculate(reduce a,reduce b)
{
//====================================================================
int flag=1;
reduce tmp,c;
if(a.vec.size()<b.vec.size()) //减数长度小于被减数
{
tmp.vec=a.vec;
a.vec=b.vec;
b.vec=tmp.vec;
flag=2;
}
if(a.vec.size()==b.vec.size()) //等长度
{
for(int i=a.vec.size()-1;i>=0;i--)
{
if(a.vec[i]<b.vec[i])
{
tmp.vec=a.vec;
a.vec=b.vec;
b.vec=tmp.vec;
flag=2;
break;
}
}
}
//====================================================================
int i;
for(i=0;i<b.vec.size();i++)
{
if(a.vec[i]<b.vec[i])
{
a.vec[i]+=10;
a.vec[i+1]-=1;
}
c.vec.push_back(a.vec[i]-b.vec[i]);
}
for(;i<a.vec.size();i++) //长度不一样时
{
if(a.vec[i]<0)
{
a.vec[i]+=10;
a.vec[i+1]-=1;
}
c.vec.push_back(a.vec[i]);
}
//====================================================================
if(flag==2) cout<<"-";
int newflag=1;
while(c.vec.size()>1) // ( ????????? )
{
if(c.vec[c.vec.size()-1]!=0&&newflag==1) newflag=2;
if(newflag==2) cout<<c.vec[c.vec.size()-1]; //输出末尾
c.vec.pop_back(); //删除末尾
}
if(newflag==1) cout<<0;
cout<<endl;
}
int main()
{
string l1,l2;
while(cin>>l1>>l2)
{
reduce a(l1),b(l2);
caculate(a,b);
}
}
#include <algorithm>
#include <iostream>
#include <math.h>
#include <string>
#include <vector>
using namespace std;
class reduce
{
public:
reduce();
reduce(string s);
vector<int> vec;
};
reduce::reduce()
{
vec.push_back(0);
}
reduce::reduce(string s)
{
for(int i=s.size()-1;i>=0;i--)
{
// cout<<i<<endl;
vec.push_back(s[i]-'0');
// cout<<"ok"<<endl;
}
}
void caculate(reduce a,reduce b)
{
//====================================================================
int flag=1;
reduce tmp,c;
if(a.vec.size()<b.vec.size()) //减数长度小于被减数
{
tmp.vec=a.vec;
a.vec=b.vec;
b.vec=tmp.vec;
flag=2;
}
if(a.vec.size()==b.vec.size()) //等长度
{
for(int i=a.vec.size()-1;i>=0;i--)
{
if(a.vec[i]<b.vec[i])
{
tmp.vec=a.vec;
a.vec=b.vec;
b.vec=tmp.vec;
flag=2;
break;
}
}
}
//====================================================================
int i;
for(i=0;i<b.vec.size();i++)
{
if(a.vec[i]<b.vec[i])
{
a.vec[i]+=10;
a.vec[i+1]-=1;
}
c.vec.push_back(a.vec[i]-b.vec[i]);
}
for(;i<a.vec.size();i++) //长度不一样时
{
if(a.vec[i]<0)
{
a.vec[i]+=10;
a.vec[i+1]-=1;
}
c.vec.push_back(a.vec[i]);
}
//====================================================================
if(flag==2) cout<<"-";
int newflag=1;
while(c.vec.size()>1) // ( ????????? )
{
if(c.vec[c.vec.size()-1]!=0&&newflag==1) newflag=2;
if(newflag==2) cout<<c.vec[c.vec.size()-1]; //输出末尾
c.vec.pop_back(); //删除末尾
}
if(newflag==1) cout<<0;
cout<<endl;
}
int main()
{
string l1,l2;
while(cin>>l1>>l2)
{
reduce a(l1),b(l2);
caculate(a,b);
}
}