#include<stdio.h>
int main()
{
int i,m,k,n,j,a,aa=1,o=1,aaa,aaaa;
scanf("%d",&a); /*输入一个数的位数a*/
for(n=1;n<=a;++n) /*求a位数的范围,例如a==3,则范围是100~999,即(aa/10)~(aa-1)*/
{aa=aa*10;} /*求a位数的范围,例如a==3,则范围是100~999,即(aa/10)~(aa-1)*/
aaa=(aa/10); /*求a位数的范围,例如a==3,则范围是100~999,即(aa/10)~(aa-1)*/
aaaa=(aa-1); /*求a位数的范围,例如a==3,则范围是100~999,即(aa/10)~(aa-1)*/
for(n=aaa;n<=aaaa;++n) /*在aaa~aaaa之间找阿姆斯特朗数*/
{
k=n;
m=0;
while(k>0)
{ o=1;
i=k%10; /*求出a位数的 个 十 百 千 万.....位的值*/
for(j=1;j<=a;j++){o=o*i;} /*分别求出它们的的a次方,并累加*/
m=m+o;
k=k/10;
}
if(m==n) /*如果是阿姆斯特朗数,输出*/
{
printf("%d\n",m);
}
}
return 0;
}