import java.util.Scanner;
public class test {
public static void main(String[] args) {
Scanner reader=new Scanner(System.in);
System.out.println("请输入求位的自方幕数:");
int x=reader.nextInt();
int min=(int) Math.pow(10,x-1);
int max=(int) Math.pow(10,x)-1;
for(int i=min;i<=max;i++){
boolean ok=f(i,x);
if(ok){
System.out.println(i);
}
}
}
public static boolean f(int n,int x){
int sum=0;
int m=n;
int temp=m%10;
sum=(int) (sum+Math.pow(temp,x));
m=m/10;
while(m>=10){
temp=m%10;
sum=(int) (sum+Math.pow(temp,x));
m=m/10;
}
sum=(int) (sum+Math.pow(m,x));
if(sum==n){
return true;
}else{
return false;
}
}
}