package Test;
import java.util.Scanner;
public class Main {
public static int judge(int n){
int count = 0;
if(n==0){
return 1;
}
while(n!=0){
count++;
n=n/10;
}
return count;
}
public static boolean prime(int n){
for(int i=2;i<n;i++){
if(n%i==0){
return false;
}
}
return true;
}
public static int sum(int n){
int sum=0;
while(n!=0){
sum=sum+n%10;
n=n/10;
}
return sum;
}
public static boolean smith(int n){
int num[] = new int[20];
int i=2;
int a=0;
int j;
int sum1=0;
int N=n;
while(i<=n){
if(prime(i)&&(n%i==0)){
int q=i;
while(q!=0){
num[a]=q%10;
a++;
q=q/10;
}
n=n/i;
}
else{
i++;
}
}
for(j=0;;j++){
if(num[j]!=0){
sum1=sum1+num[j];
}
else{
if(num[j+1]!=0){
sum1=sum1+num[j];
}
else{
break;
}
}
}
if(sum1==sum(N)){
return true;
}
return false;
}
public static void main(String[] args) {
int i;
for(i=3;i<=400;i++){
if(!prime(i)){
if(smith(i)){
System.out.print(i + " ");
}
}
}
}
}