#include<iostream>
#include<vector>
#include<algorithm>
#include<string>
using namespace std;
int prime[25];
string num1,num2;
bool isprime(int n){
for(int i=2;i*i<=n;i++){
if(n%i==0){
return false;
}
}
return true;
}
void create_prime(){
int index=0;
int i=2;
while(true){
if(isprime(i)){
prime[index++]=i;
}
i++;
if(index==25){
break;
}
}
}
int mars_to_int(string num){ //火星数转换成整数
int ans=0;
vector<int> num_;
for(int i=0;i<num.size();i++){
if(num[i]==','){
continue;
}
int temp=0;
while(num[i]!=','&&i<num.size()){
temp*=10;
temp+=(num[i]-'0');
i++;
}
num_.push_back(temp);
}
reverse(num_.begin(),num_.end());
for(int i=0;i<num_.size();i++){
int temp=1;
for(int j=0;j<i;j++){
temp=temp*prime[j];
}
temp=num_[i]*temp;
//cout<<temp<<endl;
ans+=temp;
}
return ans;
}
string int_to_mars(int n){ //整数转换成火星数
string ans;
int i=0;
while(n){
int temp=n%prime[i];
ans=to_string(temp)+ans;
ans=','+ans;
n=n/prime[i];
i++;
}
ans=ans.substr(1);
return ans;
}
int main(){
create_prime();
cin>>num1>>num2;
int ans=mars_to_int(num1)+mars_to_int(num2);
cout<<int_to_mars(ans)<<endl;
}