#include<cstdio>
#include<cstring>
#define mem(a) memset(a,0,sizeof (a))
using namespace std;
char s[1005], t[1005];
int bang[15], n;
bool div(int p)
{
int i, x= 0;
mem(t);
for(i = 1; i <= n; i++)
{
x = x*10 +s[i];//從最高位開始運算
t[i] = x/p;//模擬豎式除法
x %= p;
}
if(!x)//如果可以除盡 那麼就將原來的數變更爲商
{
for(x = 1; t[x] == 0; x++);x--;
n -= x;//如
for(i = 1; i <= n;i++)
s[i] = t[i+x];
return 1;
}
else return 0;
}
int main()
{
int i;
while(scanf("%s",s+1), s[1]!='-')
{
mem(bang);
if(!s[2])
{
printf("1%c\n",s[1]);
continue;
}
n = strlen(s+1);
for(i = 1;i <= n; i++) s[i] =s[i] -'0';
for(i = 9; i > 1; i--)
{
while(div(i))
{
bang[i]++;
}
}
if(n>1) printf("There is no such number.\n");//如果都不能整除
else
{
for(i = 2; i <= 9;i++)
while(bang[i]--) printf("%d",i);
printf("\n");
}
}
return 0;
}