#include<bits/stdc++.h>
using namespace std;
int num;int n[10];//计数
void dvd(int x){//divide函数,拆分三个数的每一位
while(x!=0){
num=x%10;
x=x/10;
n[num]++;//占位
}
}
int a,b,c;//存储三连击数字
int A,B,C;//存储给定倍数关系
int pd[1]={0};//判断数组,若找不到三连击数则为0,若但凡找到一个三连击数,就把它赋值为a
int main(){
cin>>A>>B>>C;
for(int i=1;i<=9;i++){//百位
for(int j=1;j<=9;j++){//十位
for(int k=1;k<=9;k++){//个位
a=i*100+j*10+k;
b=a/A*B;
c=a/A*C;//三个数按照一定倍率关系得出
dvd(a);
dvd(b);
dvd(c);//占位
if(n[1]==1&&n[2]==1&&n[3]==1&&n[4]==1&&n[5]==1&&n[6]==1&&n[7]==1&&n[8]==1&&n[9]==1) {
cout<<a<<' '<<b<<' '<<c<<endl; pd[0]=a; }//
for(int q=1;q<=9;q++) n[q]=0;//一组判断完后初始化占位数组
}
}
} if(pd[0]==0) cout<<"No!!!";//若找不到任何一组三连击数,即判断数组==0,就输出No!!!
return 0;
}