#include<bits/stdc++.h>
using namespace std;
inline int read(int &x){
int s=0,w=1;
char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
x = s*w;
return s*w;
}
int a,b,c;
vector <int> v;
int vis[25][25][25];
void dfs(int x,int y,int z){
if(vis[x][y][z] == -1) return;
vis[x][y][z] = 1;
if(x == 0) {
v.push_back(z);
return;
}else{
if(z+y < b) {
dfs(x,z+y,0);
}
if(z+y > b){
dfs(x,b,z+y-b);
}
if(x+y < b){
dfs(0,x+y,z);
}
if(x+y > b) {
dfs(x+y-b,b,z);
}
if(x+z < c){
dfs(0,y,x+z);
}
if(x+z > c){
dfs(x+z-c,y,c);
}
if(y+z < c){
dfs(x,0,y+z);
}
if(y+z > c){
dfs(x,y+z-c,c);
}
if(y+x < a){
dfs(y+x,0,z);
}
if(y+x > a) {
dfs(a,y+x-a,z);
}
if(z+x < a) {
dfs(z+x,y,0);
}
if(z+x > a){
dfs(a,y,z+x-a);
}
}
}
int main(){
memset(vis,-1,sizeof(vis));
cin >> a >> b >> c;
dfs(a,b,0);
sort(v.begin(),v.end());
for(int i = 0;i < v.size();i++){
cout << v[i] << " ";
}
cout << endl;
return 0;
}