#include<stdio.h>
int mp[5845];
int min(int a,int b,int c,int d)
{
int t;
t=(a<b?a:b);
t=(t<c?t:c);
t=(t<d?t:d);
return t;
}
int main(void)
{
int n,t,t1,t2,t3,t4;
mp[1]=t=t1=t2=t3=t4=1;
while(mp[t]<2000000000)
{
mp[++t]=min(2*mp[t1],3*mp[t2],5*mp[t3],7*mp[t4]);
if(mp[t]==2*mp[t1]) t1++;
if(mp[t]==3*mp[t2]) t2++;
if(mp[t]==5*mp[t3]) t3++;
if(mp[t]==7*mp[t4]) t4++;
}
while(scanf("%d",&n)&&n)
{
int m;
m=n/10%10;
printf("The %d",n);
if(n%10==1&&m!=1) printf("st ");
else if(n%10==2&&m!=1) printf("nd ");
else if(n%10==3&&m!=1) printf("rd ");
else printf("th ");
printf("humble number is %d.\n",mp[n]);
}
return 0;
}
int mp[5845];
int min(int a,int b,int c,int d)
{
int t;
t=(a<b?a:b);
t=(t<c?t:c);
t=(t<d?t:d);
return t;
}
int main(void)
{
int n,t,t1,t2,t3,t4;
mp[1]=t=t1=t2=t3=t4=1;
while(mp[t]<2000000000)
{
mp[++t]=min(2*mp[t1],3*mp[t2],5*mp[t3],7*mp[t4]);
if(mp[t]==2*mp[t1]) t1++;
if(mp[t]==3*mp[t2]) t2++;
if(mp[t]==5*mp[t3]) t3++;
if(mp[t]==7*mp[t4]) t4++;
}
while(scanf("%d",&n)&&n)
{
int m;
m=n/10%10;
printf("The %d",n);
if(n%10==1&&m!=1) printf("st ");
else if(n%10==2&&m!=1) printf("nd ");
else if(n%10==3&&m!=1) printf("rd ");
else printf("th ");
printf("humble number is %d.\n",mp[n]);
}
return 0;
}