Addition of Big Integers

Given two integers $A$ and $B$, compute the sum, $A + B$.

Input

Two integers $A$ and $B$ separated by a space character are given in a line.

Output

Print the sum in a line.

Constraints

* $-1 \times 10^{100000} \leq A, B \leq 10^{100000}$



Sample Input 1


5 8


Sample Output 1


13


Sample Input 2


100 25


Sample Output 2


125


Sample Input 3


-1 1


Sample Output 3


0


Sample Input 4


12 -3


Sample Output 4


9






Example

Input

5 8


Output

13
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define rep(i,n) for(long long i=0; i<(n); i++)
template<class T> inline bool chmin(T& a, T b) { if (a > b) { a = b; return true; } return false; }
template<class T> inline bool chmax(T& a, T b) { if (a < b) { a = b; return true; } return false; }

// if a >= b
bool compare(string a, string b) {
    if (a.size() > b.size()) return true;
    else if (a.size() < b.size()) return false;
    else {
        for (long long i = 0; i < a.size(); i++) {
            if (a[i] > b[i]) return true;
            else if (a[i] < b[i]) return false;
        }
    }
    return true;
}


string add(string a, string b) {
    bool x = false, y = false;
    if (a[0] == '-') x = true;
    if (b[0] == '-') y = true;

    if (x && y) return '-' + add(a.substr(1, a.size()-1), b.substr(1, b.size()-1));
    else if (x) return add(b, a);
    // 'a - b' or 'a + b'

    if (y) b = b.substr(1, b.size()-1);
    if (y && !compare(a, b)) {
        return '-' + add(b, '-' + a);
    }

    reverse(a.begin(), a.end());
    reverse(b.begin(), b.end());

    string res = "";
    long long up = 0;

    for (long long i = 0; i < max(a.size(), b.size()); i++) {
        long long tmp = up;
        if (i < a.size()) {
            tmp += (a[i] - '0');
        }
        if (i < b.size() && b[i] != '-') {
            if (y) tmp -= (b[i] - '0');
            else tmp += (b[i] - '0');
        }

        if (tmp < 0) {
            res.push_back((10 + tmp) + '0');
            up = -1;
        }
        else if (tmp > 9) {
            res.push_back((tmp - 10) + '0');
            up = 1;
        }
        else {
            res.push_back(tmp + '0');
            up = 0;
        }
    }

    if (up > 0) res.push_back(up + '0');

    reverse(res.begin(), res.end());

    long long begin = 0;
    while (res[begin] == '0') begin++;
    
    if (res.size() == begin) return "0";
    else return res.substr(begin, res.size() - begin);
}


int main(){
    string a, b;
    cin >> a >> b;
    cout << add(a, b) << endl;
    return 0;
}
