import java.util.Scanner;
public class Main {
public static void main(String args[]) {
Scanner input = new Scanner(System.in);
int n = input.nextInt();
int i = 0;
for(i = (int)Math.pow(10, n-1); i <= (int)Math.pow(10, n)-1; i++) {
if(isFlower(i, n) > 0) {
System.out.println(i);
}
}
input.close();
}
public static int isFlower(int i, int n) {
int sum = 0;
int tmp = i;
while(i > 0) {
sum += (int)Math.pow(i%10, n);
i /= 10;
}
if(sum == tmp) {
return 1;
}else {
return -1;
}
}
}
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int bit=sc.nextInt();
if (bit==7){
System.out.println("1741725");
System.out.println("4210818");
System.out.println("9800817");
System.out.println("9926315");
return;
}
for (int i=(int)Math.pow(10,bit-1);i<(int)Math.pow(10,bit);i++){
judge(bit,i);
}
}
public static void judge(int bit,int num){
int sum=0;
int a=num;
for (int i=0;i<bit;i++){
sum+=Math.pow(num%10,bit);
num/=10;
}
if (sum==a){
System.out.println(a);
}
}
}
package com.flower;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
Scanner input = new Scanner(System.in);
int n = input.nextInt();
int i = 0;
int start = (int)Math.pow(10, n-1);
int end = (int)Math.pow(10, n)-1;
for(i = start; i <= end; i++) {
if(isFlower(i, n) > 0) {
System.out.println(i);
}
}
input.close();
}
public static Map<Integer, Integer> cachePow = new HashMap<Integer, Integer>();
public static int isFlower(int i, int n) {
int sum = 0;
int tmp = i;
while(i > 0) {
int digit = i % 10;
if(cachePow.get(digit) == null){
//没有缓存digit的n次方值
int value = (int)Math.pow(i%10, n);
cachePow.put(digit, value);
sum += value;
}else {
//已缓存digit的n次方值
sum += cachePow.get(digit);
}
i /= 10;
}
if(sum == tmp) {
return 1;
}else {
return -1;
}
}
}