#include <bits/stdc++.h>
using namespace std;
int main(){
vector <int> m,n;
m.push_back(0);
n.push_back(0);
string p,q;
cin>>p>>q;
for (int i=0;i<p.size();i++){
m.push_back(p[i]-'0');
}
for (int i=0;i<q.size();i++){
n.push_back(q[i]-'0');
}
if (m.size()==n.size()){
for (int i=0;i<m.size();i++){
m[i]+=n[i];
}
for (int i=m.size()-1;i>=0;i--){
if (m[i]>=10){
m[i]-=10;
m[i-1]++;
}
}
if (m[0]>0){
cout<<m[0];
}
for (int i=1;i<m.size();i++){
cout<<m[i];
}
}
else if (m.size()>n.size()){
vector <int> x;
for (int i=0;i<=m.size()-n.size();i++){
x.push_back(0);
}
for (int i=1;i<n.size();i++){
x.push_back(n[i]);
}
for (int i=1;i<m.size();i++){
m[i]+=x[i];
}
for (int i=m.size()-1;i>=0;i--){
if (m[i]>=10){
m[i]-=10;
m[i-1]++;
}
}
if (m[0]>0){
cout<<m[0];
}
for (int i=1;i<m.size();i++){
cout<<m[i];
}
}
else{
vector <int> x;
for (int i=0;i<=n.size()-m.size();i++){
x.push_back(0);
}
for (int i=1;i<m.size();i++){
x.push_back(m[i]);
}
for (int i=1;i<n.size();i++){
n[i]+=x[i];
}
for (int i=n.size()-1;i>=0;i--){
if (n[i]>=10){
n[i]-=10;
n[i-1]++;
}
}
if (n[0]>0){
cout<<n[0];
}
for (int i=1;i<n.size();i++){
cout<<n[i];
}
}
return 0;
}