#include <iostream>
#include <vector>
#include <cstdio>

using namespace std;

//判断A是不是大于B
bool cmp(vector<int> &A, vector<int> &B) {
    /*首先比较位数,如果A和B的位数不相等,如果A的位数
     * 大于B的位数,返回1,如果A的位数小于B的位数,返回0*/
    if(A.size() != B.size()) return A.size() > B.size();

    /*如果位数相等,执行下面的循环*/
    /*因为读入的时候,A是倒着读进来的,比如说a是123,b是231,那么A容器
     * 里面就是321 B容器里面就是132,我们比较数字大小,一般是先比较大位
     * 所以应该先比较容器的最后一位,也就是上面举例的百位数字*/
    for (int i = A.size() - 1; i >= 0; i--) {
        if (A[i] != B[i]) return A[i] > B[i];
        //如果A的最后一位大于B,也就是A得最大位大于B,那么A > B
        //循环直到判断出到底谁是最大的为止
    }
    return true;
    /*如果上面的判断语句和最后的循环语句都判断为1,
     * 那么说明这两个容器里存储的数字是大小相同的,返回真*/

}

/*下面这个高精度减法函数已经假定A返过来的数 > B,所以说下面的main函数会通过判断语句去把两个实参的位置调换,
 为的就是保证A反过来的数大于B
 * */
vector<int> sub(vector<int> &A, vector<int> &B) {
    vector<int> c; //定义一个名为c的容器
    int t = 0;
    for(int i = 0; i < A.size(); i++){
        t = A[i] - t; //当i=0时候,相当于把a的个位赋值给t
        if(i < B.size()) t -= B[i];;//相当于a的个位减去b的个位
        c.push_back((t + 10) % 10 ); //把t放入c容器的最后一个位置
        /*当t的值是负数的时候,会向前面借位,这个位加10,
         * 当t的值为正数时,这个取的仍然是t,比如13%10 = 3*/
        /*当t < 0 的时候,会向前借位,这个时候要用上一位的数字减去1,
         * 见上面的 t = A[i] - t*/
        if (t < 0) t = 1;
        else t = 0; //当t为正数时,因为要进行下一次的位对位运算,所以把t归零
    }
    //因为减完之后,前面会有前导0,比如231- 133  = 098,
    //因此,去掉前导0是有必要的
    /*只要c的长度大于1,就可能会有前导0的情况出现
     * c.back()是c容器中的最后一个数字,也就是a-b后的第一个数字,
     * 如果这个数字是0,也就是说,存在前导0
     * c.pop_back() 是相当于删除最后c的最后一位,也就是a-b得最后一个数字
     * 这样我们就能成功删除掉前导0了*/
    while(c.size() > 1 && c.back() == 0) c.pop_back();  //去掉前导0
    return c;
}

int main(void) {
    string a, b;
    vector<int> A, B;
    cin >> a >> b;
    for (int i = a.size() - 1; i >= 0; i--) A.push_back(a[i] - '0');
    for (int i = b.size() - 1; i >= 0; i--) B.push_back(b[i] - '0');
    if (cmp(A, B)) {
        vector<int> C = sub(A, B);
        for (int i = C.size() - 1; i >= 0; i--) {
            printf("%d", C[i]);
        }
    } else {
        vector<int> C = sub(B, A);
        printf("-");
        for (int i = C.size() - 1; i >= 0; i--) {
            printf("%d",C[i]);
        }
    }
}