#include<bits/stdc++.h>//万能头
#define Lf long double//利于输入的宏
using namespace std;//名空间
const Lf mod[14]={0.,2.,3.,5.,7.,11.,13.,17.,19.};//进位制
string a=",",b=",";//两个加数
Lf an[14],bn[14],s[14];//记录加数的值
int main()//主函数
{
int al,bl,anl=0,bnl=0,last,sl;//al、bl分别为string a、b的长度,anl、bnl、sl分别是a、b、s的位数,last在输入时记录上一个逗号,a,b通用
for(int i=1;;i++)
{
a[i]=getchar();
if(a[i]=='+')
{
a[i]=',';
al=i;
break;
}
}//输入string a,直到遇到加号为止
for(int i=1;;i++)
{
b[i]=getchar();
if(b[i]=='\n')
{
b[i]=',';
bl=i;
break;
}
}//输入string b,直到遇到换行为止
last=al;
Lf tmp=0.;
for(int i=al-1;i>=0;i--)
{
if(a[i]==',')
{
an[++anl]=tmp*pow(10.,last-i-2.);
tmp=0.;
last=i;
continue;
}
tmp=tmp/10.+a[i]-'0';
}//把a转换成数
last=bl;
tmp=0.;
for(int i=bl-1;i>=0;i--)
{
if(b[i]==',')
{
bn[++bnl]=tmp*pow(10.,last-i-2.);
tmp=0.;
last=i;
continue;
}
tmp=tmp/10.+b[i]-'0';
}//把b转换成数
sl=max(anl,bnl);
for(int i=1;i<=sl;i++)
{
s[i]+=an[i]+bn[i];
while(s[i]>=mod[i])
{
s[i+1]++;
s[i]-=mod[i];
}
}//加法
while(s[sl+1]>0)sl++;//调整s的位数
printf("%.0Lf",s[sl]);
for(int i=sl-1;i>=1;i--)
printf(",%.0Lf",s[i]);//输出s
puts("");//结尾照例换行
return 0;//返回零,程序结束
}