#include <iostream> using namespace std; const int maxn=1000; struct largeNum{ int digit[maxn]; int length; largeNum(){ length=0; } largeNum(string x){ length=0; for(int i=x.length()-1;i>=0;i--){ digit[length++]=x[i]-'0'; } } largeNum operator+ (largeNum y) ; }; largeNum largeNum:: operator+ (largeNum y) { if(length<y.length){ for(int i=length;i<y.length;i++){ digit[length++]=0; } } else { for(int i=y.length;i<length;i++){ y.digit[y.length++]=0; } } largeNum r; int carry=0; int i; for(i=0;i<length && i<y.length;i++){ int c=digit[i]+y.digit[i]+carry; if(c>9){ c-=10; carry=1; } else carry=0; r.digit[r.length++]=c; } if(carry==1) r.digit[r.length++]=1; return r; } void outplargenum(largeNum x){ for(int i=x.length-1;i>=0;i--){ cout<<x.digit[i]; } cout<<endl; } int main() { string x,y; while(cin>>x>>y){ largeNum a=largeNum(x)+largeNum(y); outplargenum(a); } }