#include <iostream>
using namespace std;
bool multiplu(int nr, int a, int b){
//Returneaza 1 daca cifrele lui n sunt multiple ale lui a sau b, 0 in caz contrar
while(nr){
if(nr%10%a!=0 && nr%10%b!=0) return 0;
nr/=10;
}
return 1;
}
int rasturnat(int nr){
//Returneaza rasturnatul numarului
int r=0;
while(nr){
r=r*10+nr%10;
nr=nr/10;
}
return r;
}
int main(){
int n,m,p,zece=1;
//Citeste date
cin >> n >> m >> p;
//Determina capetele intervalului de cautare
for(int i=1;i<n;i++)zece*=10;
//Pentru ficare numar din interval
for(int i=zece;i<zece*10;i++){
//Verifica daca cifrele sunt multiple ale lui m sau p si daca sunt palindroame
if(multiplu(i,m,p) && i==rasturnat(i)) cout << i << " ";
}
}