RT
#include <bits/stdc++.h>
#define R register
#define inl inline
#define fastios ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
#define Debug(file) freopen(file".in","r",stdin);freopen(file".out","w",stdout);
using namespace std;
const int base = 1e8;
struct bigint{
vector<int> s;
bigint operator = (long long num){
while(num>=base){
s.push_back(num%base);
num/=base;
}
if(num)s.push_back(num);
return *this;
}
void puts(){
for(int i = s.size()-1;i >= 0;i --){
printf("%d",s[i]);
}
}
void scan(){
s.clear();
string str;
cin >> str;
for(int i = 0;i < (int(str.size())+7)>>3;i ++)s.push_back(0);
const int y = (int(str.size())+7)>>3;
int pointer = 0,cnt = 0,tmp = 0;
for(int i = y-1;i >= 0;i --){
cnt = tmp = 0;
for(;cnt <= 7; cnt ++)tmp = tmp*10 + (str[pointer+cnt]^48);
pointer+= 8;
s[i] = tmp;
}
}
bigint operator + (bigint b){
bigint c;
if(s.size()<b.s.size())return b + *this;
int num = 0;
const int maxlen = s.size();
for(int i = 0;i < maxlen;i ++){
num += s[i];
if(i<b.s.size())num += b.s[i];
c.s.push_back(num%base);
num/=base;
}
if(num)c.s.push_back(num);
return c;
}
};
int main() {
bigint a,b;
a.scan();
b.scan();
bigint c = a+b;
c.puts();
return 0;
}