#include<bits/stdc++.h>
#define LL long long
#define GG long long
#define For(i, j, k) for(int i=j; i<=k; i++)
#define Dow(i, j, k) for(int i=j; i>=k; i--)
using namespace std;
inline GG read() {
GG x = 0, f = 1;
char ch = getchar();
while(ch<'0'||ch>'9') { if(ch=='-') f = -1; ch = getchar(); }
while(ch>='0'&&ch<='9') { x = x*10+ch-48; ch = getchar(); }
return x * f;
}
int n, m, i, j, y, t;
int e[100][100];
int f[6000];
priority_queue <LL,vector<LL>,greater<LL> > q;
int main() {
q.push(1); f[1] = 1;
while(1) {
LL x = q.top(); q.pop();
if(y==x) continue;
y = x; ++t;
f[t] = x;
if(t==5842) break;
q.push(x*2); q.push(x*3);
q.push(x*5); q.push(x*7);
}
while(1) {
n = read();
if(n==0) return 0;
printf("The %d", n);
if(n%100==11||n%100==12||n%100==13) printf("th");
else if(n%10==1) printf("st");
else if(n%10==2) printf("nd");
else if(n%10==3) printf("rd");
else printf("th");
printf(" humble number is %d.\n", f[n]);
}
return 0;
}