import java.math.BigInteger;
import java.util.Scanner;
public class POJ_2325 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
BigInteger n;
BigInteger zero = new BigInteger("0");
BigInteger nOne = new BigInteger("-1");
BigInteger ten = new BigInteger("10");
int a[] = new int[4000];
while(scanner.hasNext()){
n = scanner.nextBigInteger();
if(n.compareTo(nOne) == 0){
break;
}
if(n.compareTo(ten) < 0){//如果这个数<10
System.out.println("1" + n);
continue;
}
boolean flag = false;
int count = 0;
while(true){//如果这个数>=10
int i;
flag = false;
for(i = 9 ; i >= 2 ; --i){//贪心策略:要使获得的数最小,则从最低位开始枚举最大数
if(n.mod(BigInteger.valueOf(i)).compareTo(zero) == 0){
flag = true;
n = n.divide(BigInteger.valueOf(i));
a[++count] = i;
break;
}
}
if(n.compareTo(ten) < 0){//如果这个数已经<10,则处理已经结束
flag = true;
a[++count] = n.intValue();
break;
}
if(flag == false){//如果这个数没有2~9之间的因数&&>10,则分解失败
break;
}
}
if(flag == false){
System.out.println("There is no such number.");
}else{
int i;
for(i = count ; i >= 1;--i){//逆序输出
System.out.print(a[i]);
}
System.out.println();
}
}
}
}