#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define FOR(i,a,b) for(int i=(a),_b=(b);i<(_b);++i) #define FORD(i,a,b) for(int i=(a),_b=(b);i>(_b);--i) #define pb push_back #define mp make_pair #define all(c) (c).begin(),(c).end() #define tr(c,i) for(typeof((c).begin()) i = (c).begin(); i != (c).end(); i++) #define present(c,x) ((c).find(x) != (c).end()) #define cpresent(c,x) (find(all(c),x) != (c).end()) #define endl '\n' typedef long long ll; typedef unsigned long long ull; typedef unsigned char byte; typedef vector vi; typedef pair pii; typedef pair pll; typedef vector vpii; const int MX = 105; int main(int argc, char *argv[]) { #ifndef ONLINE_JUDGE freopen(argv[1],"r",stdin); #endif #ifndef ONLINE_JUDGE ifstream cin(argv[1]); #endif #if 0 ofstream cout(argv[2]); #endif ios :: sync_with_stdio(false); cin.tie(NULL); string a,b; cin >> a >> b; int n = max(a.length(),b.length()); int m = a.length(); while (m < n) { ++m; a = '0'+a; } m = b.length(); while (m < n) { ++m; b = '0'+b; } string c = ""; int carry = 0; FORD(i,n-1,-1) { int d1 = a[i]-'0', d2 = b[i]-'0'; int d = d1+d2+carry; if (d > 9) { carry = 1; d -= 10; } else carry = 0; char ch = '0'+d; c = ch+c; } if (carry) c = '1'+c; cout << c << endl; return 0; }