#include<iostream>//若要使用cin、cout就是需要导入iostream头文件
#include<cstring>//获取字符串长度以及比较字符串大小以及字符复制
using namespace std;//开通一个std空间
char a1[1001],b1[1001],c1[1001];//减数b1和被减数a1
int a[1001],b[1001],c[1001];//减数b1的每一位和被减数a1的每一位,c表示a与b的差
int main(){//主函数
cin>>a1>>b1;//通过输入设备给a1和b1赋值
int lena=strlen(a1),lenb=strlen(b1);//获取a1,b1长度
if(lena<lenb||lena==lenb&&strcmp(a1,b1)>0)//如过前者小于后者则在计算前将两者的值颠倒
{//判断a1是否小于b1(判断结果是否为负数)
strcpy(c1,a1);//将a1的值复制到c
strcpy(a1,b1);//将b1的值复制到a1
strcpy(b1,c1);//将c的值(a1原本的值)给到b1
cout<<"-";//条件为真,成负数输出负号
}//其实就是将c作为一个容器把a1与b1交换
for(int i=0;i<lena;i++)//倒序转整
{//由于i在小于lena的范围内自增所以lena-i的值就在递减,以达到倒序目的
a[i]=a1[lena-1-i]-48;//具体表达式
}
for(int i=0;i<lenb;i++)//倒序转整
{
b[i]=b1[lenb-1-i]-48;
}
int x=0;//定义x表示退位x初始为0不然会出事
for(int i=0;i<lena;i++)//i小于最大值长度做递增
{
c[i]=a[i]-x-b[i];//把a[i]-b[i]的差给到c_____减法
if(c[i]<0)//判断不够减
{
c[i]+=10;//当前位加10
x=1;//借1位
}else//否则够减
{
x=0;//借0位
}
}
for(int i=lena-1;i>0;i--)//倒序找第一个非0数
{
if(c[i]==0)//如果为0
{
lena--;//总长度减减
}else//否则
{
break;//退出循环
}
}
for(int i=lena-1;i>=0;i--)//倒序输出
{
cout<<c[i];
}
return 0;//程序结束,返回0
}