#include <bits/stdc++.h>
using namespace std;
bool a[10001];
int zhishu[10001];
void shai()
{
int cur=0;
memset(a,true,10001);
a[0]=false;
a[1]=false;
for(int i=2;i<=10000;i++)
{
if(a[i])
{
zhishu[++cur]=i;
for(int j=i*2;j<=10000;j+=i)
{
a[j]=false;
}
}
}
}
string c;
int num[10001];
int add[10001];
int main()
{
int cur1=0,cur2=0;
bool flag=1;
cin>>c;
shai();
int num1=0;
for(int i=0;i<c.length();i++)
{
if(c[i]>='0'&&c[i]<='9')
{
num1*=10;
num1+=(c[i]-48);
}
if(c[i]==',')
{
if(flag)
{
num[++cur1]=num1;
num1=0;
}
else
{
add[++cur2]=num1;
num1=0;
}
}
if(c[i]=='+')
{
if(flag)
{
num[++cur1]=num1;
num1=0;
}
else
{
add[++cur2]=num1;
num1=0;
}
flag=false;
}
}
int basecur=0;
int base;
for(int i=cur1;i>=1;i--)
{
base=zhishu[++basecur];
num[i]+=add[i];
if(num[i]>=base)
{
if(i==1)
{
cout<<"1,";
num[i]-=base;
break;
}
num[i-1]++;
num[i]-=base;
}
}
for(int i=1;i<=cur1;i++)
{
cout<<num[i];
if(i!=cur1)
{
cout<<",";
}
}
return 0;
}