#include<stdio.h>
#include<string.h>
#include<math.h>
int SS[100];
int q=0;
void ss()
{
int k=0,f,i,j;
for(i=2;i<=500;i++)
{
f=1;
k=(int)sqrt(i);
for(j=2;j<=k;j++)
{
if(i%j==0)
{
f=0;
break;
}
}
if(f)
SS[q++]=i;
}
// for(i=0;i<q;i++)
// printf("%d ",SS[i]);
}
int main()
{
char a[100],b[100];
__int64 m[100],n[100];
int alen,blen;
int i,j,k;
int flag;
__int64 sum,temp;
while(scanf("%s%s",a,b))
{
if(strcmp(a,"0")==0||strcmp(b,"0")==0)
break;
i=j=k=0;
alen=strlen(a);
blen=strlen(b);
ss();
memset(m,0,sizeof(m));
memset(n,0,sizeof(n));
sum=0;
flag=1;
for(i=0;i<alen;i++) //预处理
{
if(a[i]==',')
{
flag++;
if(flag==2)
{
flag=1;
m[j++]=sum;
sum=0;
}
continue;
}
sum=sum*10+a[i]-'0';
if(i==alen-1)
{
m[j++]=sum;
break;
}
}
for(i=0;i<j/2;i++)
{
temp=m[i];
m[i]=m[j-i-1];
m[j-i-1]=temp;
}
sum=0;
flag=1;
for(i=0;i<blen;i++) //预处理
{
if(b[i]==',')
{
flag++;
if(flag==2)
{
flag=1;
n[k++]=sum;
sum=0;
}
continue;
}
sum=sum*10+b[i]-'0';
if(i==blen-1)
{
n[k++]=sum;
break;
}
}
for(i=0;i<k/2;i++)
{
temp=n[i];
n[i]=n[k-i-1];
n[k-i-1]=temp;
}
if(j<k)
{
temp=j;
j=k;
k=temp;
}
for(i=0;i<j;i++)
{
m[i]=m[i]+n[i];
if(m[i]>=SS[i])
{
m[i+1]=m[i+1]+m[i]/SS[i];
m[i]=m[i]%SS[i];
}
}
if(m[j])
printf("%I64d,",m[j]);
printf("%d",m[j-1]);
for(i=j-2;i>=0;i--)
{
printf(",%I64d",m[i]);
}
printf("\n");
}
return 0;
}