#include<iostream>
#include<cstdlib>
#include<cstdio>
#include<cstring>
using namespace std;
int a[10000];
int l1,l2;
int hw()//判断回文的函数拉
{
for (int i=1;i<=l1/2;i++)
if (a[i]!=a[l1-i+1])
return 0;
return 1;
}
int pd(int k,int n)//转化进制的小函数
{
l1=0;
do
{
a[++l1]=k%n;
k/=n;
} while (k!=0);
return 0;
}
int main()
{
int n,m;
cin>>n>>m;
int i=m+1;//这里要注意!!!
int k=0;
while(k<n)//K是记输出了几个数的计数器
{
int ans=0;
for(int j=2;j<=10;j++)//从二进制到十进制一一枚举
{
memset(a,0,sizeof(0));//每次记得把这个数组清零
pd(i,j);
if(hw()==1)
{
ans++;
}
}
if(ans>=2)//如果有两种以上的进制是回文的,那么输出,K++
{
cout<<i<<endl;
k++;
}
i++;
}
return 0;
}
/**************************************************************
Problem: 1939
User: admin
Language: C++
Result: Accepted
Time:72 ms
Memory:2112 kb
****************************************************************/