#include <bits/stdc++.h>
#define ll long long
using namespace std;
// thuật toán áp dụng cho lấy số lớn hơn trừ số nhỏ hơn
// nếu muốn lấy số nhỏ trừ số lớn thì đổi thứ tự xâu và đổi dấu kết quả
string sub(string a, string b) {
// cân bằng độ dài 2 xâu để dễ xử lí
reverse(a.begin(), a.end());
reverse(b.begin(), b.end());
while (a.size() < b.size()) a += '0';
while (b.size() < a.size()) b += '0';
int r = 0; // số dư
string ans = ""; // kết quả
for (int i = 0; i < a.size(); i++) {
int d = (a[i] - '0') - (b[i] - '0') - r; // hiệu từng cặp chữ số từ phải sang trái và thêm nhớ
// tính toán biến nhớ
if (d < 0) r = 1, d += 10;
else r = 0;
ans += (char)(d + '0'); // thêm số vừa tính được vào kết quả
}
reverse(ans.begin(), ans.end()); // đưa kết quả về đúng thứ tự
while (ans.size() > 1 && ans[0] == '0') ans.erase(0, 1); // xóa những số 0 vô nghĩa
return ans; // trả về kết quả
}
signed main() {
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
string a, b; cin >> a >> b; // nhập dữ liệu
// kiểm tra số âm
int minus = 1, pos = 1;
if (a[0] == '-' || a == "0") pos &= 0, minus ^= 1, a.erase(0, 1);
if (b[0] == '-' || b == "0") pos &= 0, minus ^= 1, b.erase(0, 1);
if (!minus) cout << "use addition" << '\n'; // nếu 2 số trái dấu thì dùng phép cộng
// xuất dữ liệu
else if (!pos) cout << '-' << sub(a, b) << '\n';
else cout << sub(a, b) << '\n';
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKLy8gdGh14bqtdCB0b8OhbiDDoXAgZOG7pW5nIGNobyBs4bqleSBz4buRIGzhu5tuIGjGoW4gdHLhu6sgc+G7kSBuaOG7jyBoxqFuCi8vIG7hur91IG114buRbiBs4bqleSBz4buRIG5o4buPIHRy4burIHPhu5EgbOG7m24gdGjDrCDEkeG7lWkgdGjhu6kgdOG7sSB4w6J1IHbDoCDEkeG7lWkgZOG6pXUga+G6v3QgcXXhuqMKc3RyaW5nIHN1YihzdHJpbmcgYSwgc3RyaW5nIGIpIHsKICAgIC8vIGPDom4gYuG6sW5nIMSR4buZIGTDoGkgMiB4w6J1IMSR4buDIGThu4UgeOG7rSBsw60KICAgIHJldmVyc2UoYS5iZWdpbigpLCBhLmVuZCgpKTsKICAgIHJldmVyc2UoYi5iZWdpbigpLCBiLmVuZCgpKTsKICAgIHdoaWxlIChhLnNpemUoKSA8IGIuc2l6ZSgpKSBhICs9ICcwJzsKICAgIHdoaWxlIChiLnNpemUoKSA8IGEuc2l6ZSgpKSBiICs9ICcwJzsKCiAgICBpbnQgciA9IDA7IC8vIHPhu5EgZMawCiAgICBzdHJpbmcgYW5zID0gIiI7IC8vIGvhur90IHF14bqjCiAgICBmb3IgKGludCBpID0gMDsgaSA8IGEuc2l6ZSgpOyBpKyspIHsKICAgICAgICBpbnQgZCA9IChhW2ldIC0gJzAnKSAtIChiW2ldIC0gJzAnKSAtIHI7IC8vIGhp4buHdSB04burbmcgY+G6t3AgY2jhu68gc+G7kSB04burIHBo4bqjaSBzYW5nIHRyw6FpIHbDoCB0aMOqbSBuaOG7mwogICAgICAgIAogICAgICAgIC8vIHTDrW5oIHRvw6FuIGJp4bq/biBuaOG7mwogICAgICAgIGlmIChkIDwgMCkgciA9IDEsIGQgKz0gMTA7CiAgICAgICAgZWxzZSByID0gMDsKCiAgICAgICAgYW5zICs9IChjaGFyKShkICsgJzAnKTsgLy8gdGjDqm0gc+G7kSB24burYSB0w61uaCDEkcaw4bujYyB2w6BvIGvhur90IHF14bqjCiAgICB9CgogICAgcmV2ZXJzZShhbnMuYmVnaW4oKSwgYW5zLmVuZCgpKTsgLy8gxJHGsGEga+G6v3QgcXXhuqMgduG7gSDEkcO6bmcgdGjhu6kgdOG7sQogICAgd2hpbGUgKGFucy5zaXplKCkgPiAxICYmIGFuc1swXSA9PSAnMCcpIGFucy5lcmFzZSgwLCAxKTsgLy8geMOzYSBuaOG7r25nIHPhu5EgMCB2w7QgbmdoxKlhCgogICAgcmV0dXJuIGFuczsgLy8gdHLhuqMgduG7gSBr4bq/dCBxdeG6owp9CgpzaWduZWQgbWFpbigpIHsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKICAgIAogICAgc3RyaW5nIGEsIGI7IGNpbiA+PiBhID4+IGI7IC8vIG5o4bqtcCBk4buvIGxp4buHdQoKICAgIC8vIGtp4buDbSB0cmEgc+G7kSDDom0KICAgIGludCBtaW51cyA9IDEsIHBvcyA9IDE7CiAgICBpZiAoYVswXSA9PSAnLScgfHwgYSA9PSAiMCIpIHBvcyAmPSAwLCBtaW51cyBePSAxLCBhLmVyYXNlKDAsIDEpOwogICAgaWYgKGJbMF0gPT0gJy0nIHx8IGIgPT0gIjAiKSBwb3MgJj0gMCwgbWludXMgXj0gMSwgYi5lcmFzZSgwLCAxKTsKCiAgICBpZiAoIW1pbnVzKSBjb3V0IDw8ICJ1c2UgYWRkaXRpb24iIDw8ICdcbic7IC8vIG7hur91IDIgc+G7kSB0csOhaSBk4bqldSB0aMOsIGTDuW5nIHBow6lwIGPhu5luZwoKICAgIC8vIHh14bqldCBk4buvIGxp4buHdQogICAgZWxzZSBpZiAoIXBvcykgY291dCA8PCAnLScgPDwgc3ViKGEsIGIpIDw8ICdcbic7CiAgICBlbHNlIGNvdXQgPDwgc3ViKGEsIGIpIDw8ICdcbic7CiAgICByZXR1cm4gMDsKfQ==