#include <bits/stdc++.h>
#define ll long long
using namespace std;
string add(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; // tổng từng cặp chữ số từ phải sang trái và thêm nhớ
r = d / 10; // nhớ bằng kết quả hàng trước chia 10.
ans += (char)(d % 10 + '0'); // thêm số vừa tính được vào kết quả
}
if (r) ans += '1'; // nếu còn dư thì thêm vào
reverse(ans.begin(), ans.end()); // đưa kết quả về đúng thứ tự
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 plus = 1, pos = 1;
if (a[0] == '-' || a == "0") pos &= 0, plus ^= 1, a.erase(0, 1);
if (b[0] == '-' || b == "0") pos &= 0, plus ^= 1, b.erase(0, 1);
if (!plus) cout << "use subtraction" << '\n'; // nếu 2 số trái dấu thì dùng phép trừ
// xuất dữ liệu
else if (!pos) cout << '-' << add(a, b) << '\n';
else cout << add(a, b) << '\n';
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RyaW5nIGFkZChzdHJpbmcgYSwgc3RyaW5nIGIpIHsKICAgIC8vIGPDom4gYuG6sW5nIMSR4buZIGTDoGkgMiB4w6J1IMSR4buDIGThu4UgeOG7rSBsw60KICAgIHJldmVyc2UoYS5iZWdpbigpLCBhLmVuZCgpKTsKICAgIHJldmVyc2UoYi5iZWdpbigpLCBiLmVuZCgpKTsKICAgIHdoaWxlIChhLnNpemUoKSA8IGIuc2l6ZSgpKSBhICs9ICcwJzsKICAgIHdoaWxlIChiLnNpemUoKSA8IGEuc2l6ZSgpKSBiICs9ICcwJzsKCiAgICBpbnQgciA9IDA7IC8vIHPhu5EgZMawCiAgICBzdHJpbmcgYW5zID0gIiI7IC8vIGvhur90IHF14bqjCiAgICBmb3IgKGludCBpID0gMDsgaSA8IGEuc2l6ZSgpOyBpKyspIHsKICAgICAgICBpbnQgZCA9IChhW2ldIC0gJzAnKSArIChiW2ldIC0gJzAnKSArIHI7IC8vIHThu5VuZyB04burbmcgY+G6t3AgY2jhu68gc+G7kSB04burIHBo4bqjaSBzYW5nIHRyw6FpIHbDoCB0aMOqbSBuaOG7mwogICAgICAgIHIgPSBkIC8gMTA7IC8vIG5o4bubIGLhurFuZyBr4bq/dCBxdeG6oyBow6BuZyB0csaw4bubYyBjaGlhIDEwLgogICAgICAgIGFucyArPSAoY2hhcikoZCAlIDEwICsgJzAnKTsgLy8gdGjDqm0gc+G7kSB24burYSB0w61uaCDEkcaw4bujYyB2w6BvIGvhur90IHF14bqjCiAgICB9CgogICAgaWYgKHIpIGFucyArPSAnMSc7IC8vIG7hur91IGPDsm4gZMawIHRow6wgdGjDqm0gdsOgbwogICAgcmV2ZXJzZShhbnMuYmVnaW4oKSwgYW5zLmVuZCgpKTsgLy8gxJHGsGEga+G6v3QgcXXhuqMgduG7gSDEkcO6bmcgdGjhu6kgdOG7sQoKICAgIHJldHVybiBhbnM7IC8vIHRy4bqjIHbhu4Ega+G6v3QgcXXhuqMKfQoKc2lnbmVkIG1haW4oKSB7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOwogICAgY2luLnRpZSgwKTsgY291dC50aWUoMCk7CiAgICAKICAgIHN0cmluZyBhLCBiOyBjaW4gPj4gYSA+PiBiOyAvLyBuaOG6rXAgZOG7ryBsaeG7h3UKCiAgICAvLyBraeG7g20gdHJhIHPhu5Egw6JtCiAgICBpbnQgcGx1cyA9IDEsIHBvcyA9IDE7CiAgICBpZiAoYVswXSA9PSAnLScgfHwgYSA9PSAiMCIpIHBvcyAmPSAwLCBwbHVzIF49IDEsIGEuZXJhc2UoMCwgMSk7CiAgICBpZiAoYlswXSA9PSAnLScgfHwgYiA9PSAiMCIpIHBvcyAmPSAwLCBwbHVzIF49IDEsIGIuZXJhc2UoMCwgMSk7CgogICAgaWYgKCFwbHVzKSBjb3V0IDw8ICJ1c2Ugc3VidHJhY3Rpb24iIDw8ICdcbic7IC8vIG7hur91IDIgc+G7kSB0csOhaSBk4bqldSB0aMOsIGTDuW5nIHBow6lwIHRy4burCgogICAgLy8geHXhuqV0IGThu68gbGnhu4d1CiAgICBlbHNlIGlmICghcG9zKSBjb3V0IDw8ICctJyA8PCBhZGQoYSwgYikgPDwgJ1xuJzsKICAgIGVsc2UgY291dCA8PCBhZGQoYSwgYikgPDwgJ1xuJzsKICAgIHJldHVybiAwOwp9