#include <stdio.h>
#include <math.h>
char Cset[5] = {'h','k','m','r','t'};
char Vset[3] = {'a','o','u'};
long long countL(int L) {
int c = (L + 1) / 2; // кількість приголосних
int v = L / 2; // кількість голосних
long long r = 1;
while (c--) r *= 5;
while (v--) r *= 3;
return r;
}
int main() {
long long N;
// 1. Знайти довжину слова L
long long S = 0, prevS = 0;
int L = 0;
while (S < N) {
L++;
prevS = S;
S += countL(L);
}
// 2. Індекс усередині слів довжини L
long long idx = N - prevS - 1;
// 3. Обчислення слова
char word[100];
long long p;
for (int i = 1; i <= L; i++) {
// база для позиції i
int r = (i % 2 ? 5 : 3);
// вага розряду p_i
p = 1;
for (int j = i + 1; j <= L; j++)
p *= (j % 2 ? 5 : 3);
int d = idx / p;
idx %= p;
word[i-1] = (i % 2 ? Cset[d] : Vset[d]);
}
word[L] = '\0';
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+CgpjaGFyIENzZXRbNV0gPSB7J2gnLCdrJywnbScsJ3InLCd0J307CmNoYXIgVnNldFszXSA9IHsnYScsJ28nLCd1J307Cgpsb25nIGxvbmcgY291bnRMKGludCBMKSB7CiAgICBpbnQgYyA9IChMICsgMSkgLyAyOyAgIC8vINC60ZbQu9GM0LrRltGB0YLRjCDQv9GA0LjQs9C+0LvQvtGB0L3QuNGFCiAgICBpbnQgdiA9IEwgLyAyOyAgICAgICAgIC8vINC60ZbQu9GM0LrRltGB0YLRjCDQs9C+0LvQvtGB0L3QuNGFCiAgICBsb25nIGxvbmcgciA9IDE7CiAgICB3aGlsZSAoYy0tKSByICo9IDU7CiAgICB3aGlsZSAodi0tKSByICo9IDM7CiAgICByZXR1cm4gcjsKfQoKaW50IG1haW4oKSB7CiAgICBsb25nIGxvbmcgTjsKICAgIHNjYW5mKCIlbGxkIiwgJk4pOwoKICAgIC8vIDEuINCX0L3QsNC50YLQuCDQtNC+0LLQttC40L3RgyDRgdC70L7QstCwIEwKICAgIGxvbmcgbG9uZyBTID0gMCwgcHJldlMgPSAwOwogICAgaW50IEwgPSAwOwogICAgd2hpbGUgKFMgPCBOKSB7CiAgICAgICAgTCsrOwogICAgICAgIHByZXZTID0gUzsKICAgICAgICBTICs9IGNvdW50TChMKTsKICAgIH0KCiAgICAvLyAyLiDQhtC90LTQtdC60YEg0YPRgdC10YDQtdC00LjQvdGWINGB0LvRltCyINC00L7QstC20LjQvdC4IEwKICAgIGxvbmcgbG9uZyBpZHggPSBOIC0gcHJldlMgLSAxOwoKICAgIC8vIDMuINCe0LHRh9C40YHQu9C10L3QvdGPINGB0LvQvtCy0LAKICAgIGNoYXIgd29yZFsxMDBdOwogICAgbG9uZyBsb25nIHA7CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBMOyBpKyspIHsKICAgICAgICAvLyDQsdCw0LfQsCDQtNC70Y8g0L/QvtC30LjRhtGW0ZcgaQogICAgICAgIGludCByID0gKGkgJSAyID8gNSA6IDMpOwoKICAgICAgICAvLyDQstCw0LPQsCDRgNC+0LfRgNGP0LTRgyBwX2kKICAgICAgICBwID0gMTsKICAgICAgICBmb3IgKGludCBqID0gaSArIDE7IGogPD0gTDsgaisrKQogICAgICAgICAgICBwICo9IChqICUgMiA/IDUgOiAzKTsKCiAgICAgICAgaW50IGQgPSBpZHggLyBwOwogICAgICAgIGlkeCAlPSBwOwoKICAgICAgICB3b3JkW2ktMV0gPSAoaSAlIDIgPyBDc2V0W2RdIDogVnNldFtkXSk7CiAgICB9CiAgICB3b3JkW0xdID0gJ1wwJzsKCiAgICBwcmludGYoIiVzXG4iLCB3b3JkKTsKICAgIHJldHVybiAwOwp9Cg==