#include <iostream>#include <string>#include <string.h>#include <stdio.h>#include <math.h>using namespace std;int prime[28]={2, 3, 5, 7, 11, 13, 17, 19, 23, 29,31, 37, 41, 43, 47, 53, 59, 61, 67, 71,73, 79, 83, 89, 97,101,103, 107};int a[30],b[30];int c[30];int main(){ string ta,tb; while(cin>>ta>>tb) { int temp=0,j=0,k=0; for(int i=ta.length()-1;i>=0;--i) { if(ta[i]==',') { a[k++]=temp; temp=0; j=0; } else { temp+=(ta[i]-48)*pow(10.0, j*1.0); ++j; } } a[k]=temp; int lena=k+1; temp=0;j=0;k=0; for(int i=tb.length()-1;i>=0;--i) { if(tb[i]==',') { b[k++]=temp; temp=0; j=0; } else { temp+=(tb[i]-48)*pow(10.0, j*1.0); ++j; } } b[k]=temp; int lenb=k+1;int carry=0; int len=lena<lenb?lena:lenb; memset(c,0,sizeof(c)); for(int i=0;i<len;++i) { c[i]=(carry+a[i]+b[i])%prime[i]; carry=(carry+a[i]+b[i])/prime[i]; } if(lena<lenb) { for(int i=lena;i<lenb;++i) if(carry) { c[i]=(carry+b[i])%prime[i]; carry=(carry+b[i])/prime[i]; } else c[i]=b[i]; } else { for(int i=lenb;i<lena;++i) if(carry) { c[i]=(carry+a[i])%prime[i]; carry=(carry+a[i])/prime[i]; } else c[i]=a[i]; } len=lena>lenb?lena:lenb; while(carry) { c[len]=carry%prime[len]; carry=carry/prime[len]; ++len; } len--; while(c[len]==0&&len>0)len--; cout<<c[len]; for(int i=len-1;i>=0;--i) cout<<","<<c[i]; cout<<endl; } return 0;}