#include <string>
#include <iostream>
using namespace std;
string intToWord( unsigned long long x)
{
string ones[ ] = { "" ,
"jeden" ,
"dwa" ,
"trzy" ,
"cztery" ,
"piec" ,
"szesc" ,
"siedem" ,
"osiem" ,
"dziewiec" ,
"dziwsiec" ,
"jedenascie" ,
"dwanascie" ,
"trzynascie" ,
"czternascie" ,
"pietnascie" ,
"szesnascie" ,
"siedemnascie" ,
"osiemnascie" ,
"dziewietnascie"
} ;
string decads[ ] = { " " ,
"" ,
"dwadziescia" ,
"trzydziesci" ,
"czterdziescie" ,
"piecdziesiat" ,
"szescdziesiat" ,
"siedemdziesiat" ,
"osoemdziesiat" ,
"dziewiecdziesiant" ,
} ;
string hundreds[ ] = { "" ,
"sto" ,
"dwiescie" ,
"trzysta" ,
"czterysta" ,
"piecset" ,
"szescset" ,
"siedemset" ,
"osiemset" ,
"dziewiecset"
} ;
unsigned long long pierwsza;
string tys = " tys. " ;
string mln = " mln. " ;
string mld = " mld " ;
string bln = " bln " ;
if ( x == 1000000000000 )
{
pierwsza = x / 1000000000000 ;
return intToWord( pierwsza) + bln + intToWord( x - pierwsza * 1000000000000 ) ;
}
if ( x >= 1000000000 && x < 1000000000000 )
{
pierwsza = x / 1000000000 ;
return intToWord( pierwsza) + mld + intToWord( x - pierwsza * 1000000000 ) ;
}
else if ( x >= 1000000 && x < 1000000000 )
{
pierwsza = x / 1000000 ;
return intToWord( pierwsza) + mln + intToWord( x - pierwsza * 1000000 ) ;
}
else if ( x >= 1000 && x < 1000000 )
{
pierwsza = x / 1000 ;
return intToWord( pierwsza) + tys + intToWord( x - pierwsza * 1000 ) ;
}
else if ( x >= 100 && x < 1000 )
{
pierwsza = x / 100 ;
return hundreds[ pierwsza] + " " + intToWord( x - pierwsza * 100 ) ;
}
else if ( x >= 20 && x < 100 )
{
int left, right;
left = x / 10 ;
right = x % 10 ;
return decads[ left] + " " + ones[ right] ;
}
else if ( x >= 0 && x < 20 )
{
return ones[ x] ;
}
}
int main( )
{
unsigned long long num;
while ( cin >> num)
{
cout << intToWord( num) << endl;
}
return 0 ;
}
I2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RyaW5nIGludFRvV29yZCh1bnNpZ25lZCBsb25nIGxvbmcgeCkKewogICAgc3RyaW5nIG9uZXNbXSA9IHsiIiwKICAgICAgICAiamVkZW4iLAogICAgICAgICJkd2EiLAogICAgICAgICJ0cnp5IiwKICAgICAgICAiY3p0ZXJ5IiwKICAgICAgICAicGllYyIsCiAgICAgICAgInN6ZXNjIiwKICAgICAgICAic2llZGVtIiwKICAgICAgICAib3NpZW0iLAogICAgICAgICJkemlld2llYyIsCiAgICAgICAgImR6aXdzaWVjIiwKICAgICAgICAiamVkZW5hc2NpZSIsCiAgICAgICAgImR3YW5hc2NpZSIsCiAgICAgICAgInRyenluYXNjaWUiLAogICAgICAgICJjenRlcm5hc2NpZSIsCiAgICAgICAgInBpZXRuYXNjaWUiLAogICAgICAgICJzemVzbmFzY2llIiwKICAgICAgICAic2llZGVtbmFzY2llIiwKICAgICAgICAib3NpZW1uYXNjaWUiLAogICAgICAgICJkemlld2lldG5hc2NpZSIKICAgIH07CgogICAgc3RyaW5nIGRlY2Fkc1tdID0geyAiICIsCiAgICAgICAgIiIsCiAgICAgICAgImR3YWR6aWVzY2lhIiwKICAgICAgICAidHJ6eWR6aWVzY2kiLAogICAgICAgICJjenRlcmR6aWVzY2llIiwKICAgICAgICAicGllY2R6aWVzaWF0IiwKICAgICAgICAic3plc2Nkemllc2lhdCIsCiAgICAgICAgInNpZWRlbWR6aWVzaWF0IiwKICAgICAgICAib3NvZW1kemllc2lhdCIsCiAgICAgICAgImR6aWV3aWVjZHppZXNpYW50IiwKICAgIH07CgogICAgc3RyaW5nIGh1bmRyZWRzW10gPSB7IiIsCiAgICAgICAgInN0byIsCiAgICAgICAgImR3aWVzY2llIiwKICAgICAgICAidHJ6eXN0YSIsCiAgICAgICAgImN6dGVyeXN0YSIsCiAgICAgICAgInBpZWNzZXQiLAogICAgICAgICJzemVzY3NldCIsCiAgICAgICAgInNpZWRlbXNldCIsCiAgICAgICAgIm9zaWVtc2V0IiwKICAgICAgICAiZHppZXdpZWNzZXQiCiAgICB9OwogICAgIAogICAgdW5zaWduZWQgbG9uZyBsb25nIHBpZXJ3c3phOwogICAgc3RyaW5nIHR5cyA9ICIgdHlzLiAiOwogICAgc3RyaW5nIG1sbiA9ICIgbWxuLiAiOwogICAgc3RyaW5nIG1sZCA9ICIgbWxkICI7CiAgICBzdHJpbmcgYmxuID0gIiBibG4gIjsKCiAgICBpZiAoeCA9PSAxMDAwMDAwMDAwMDAwICkKICAgIHsKICAgICAgICAKICAgICAgICBwaWVyd3N6YSA9IHggLyAxMDAwMDAwMDAwMDAwOwogICAgICAgIHJldHVybiBpbnRUb1dvcmQocGllcndzemEpICsgYmxuICsgaW50VG9Xb3JkKHggLSBwaWVyd3N6YSAqIDEwMDAwMDAwMDAwMDApOwogICAgfSAKICAgIGlmICh4ID49IDEwMDAwMDAwMDAgJiYgeCA8IDEwMDAwMDAwMDAwMDApCiAgICB7CgogICAgICAgIHBpZXJ3c3phID0geCAvIDEwMDAwMDAwMDA7CiAgICAgICAgcmV0dXJuIGludFRvV29yZChwaWVyd3N6YSkgKyBtbGQgKyBpbnRUb1dvcmQoeCAtIHBpZXJ3c3phICogMTAwMDAwMDAwMCk7CiAgICB9CgogICAgZWxzZSBpZiAoeCA+PSAxMDAwMDAwICYmIHggPCAxMDAwMDAwMDAwKQogICAgewoKICAgICAgICBwaWVyd3N6YSA9IHggLyAxMDAwMDAwOwogICAgICAgIHJldHVybiBpbnRUb1dvcmQocGllcndzemEpICsgbWxuICsgaW50VG9Xb3JkKHggLSBwaWVyd3N6YSAqIDEwMDAwMDApOwogICAgfQogICAgZWxzZSBpZiAoeCA+PSAxMDAwICYmIHggPCAxMDAwMDAwKQogICAgewoKCiAgICAgICAgcGllcndzemEgPSB4IC8gMTAwMDsKICAgICAgICByZXR1cm4gaW50VG9Xb3JkKHBpZXJ3c3phKSArIHR5cyArIGludFRvV29yZCh4IC0gcGllcndzemEgKiAxMDAwKTsKICAgIH0KICAgIGVsc2UgaWYgKHggPj0gMTAwICYmIHggPCAxMDAwKQogICAgewoKCiAgICAgICAgcGllcndzemEgPSB4IC8gMTAwOwoKCiAgICAgICAgcmV0dXJuIGh1bmRyZWRzW3BpZXJ3c3phXSArICIgIiArIGludFRvV29yZCh4IC0gcGllcndzemEgKiAxMDApOwoKICAgIH0KICAgIGVsc2UgaWYgKHggPj0gMjAgJiYgeCA8IDEwMCkKICAgIHsKICAgICAgICBpbnQgbGVmdCwgcmlnaHQ7CgogICAgICAgIGxlZnQgPSB4IC8gMTA7CiAgICAgICAgcmlnaHQgPSB4ICUgMTA7CgogICAgICAgIHJldHVybiBkZWNhZHNbbGVmdF0gKyAiICIgKyBvbmVzW3JpZ2h0XTsKCiAgICB9CiAgICBlbHNlIGlmICh4ID49IDAgJiYgeCA8IDIwKQogICAgewogICAgICAgIHJldHVybiBvbmVzW3hdOwogICAgfQogICAgCiAgICAKfQoKaW50IG1haW4oKQp7CiAgdW5zaWduZWQgbG9uZyBsb25nIG51bTsKICAgIHdoaWxlIChjaW4gPj4gbnVtKQogICAgewogICAgICAgIAogICAgICAgIAogICAgICAgIGNvdXQgPDwgaW50VG9Xb3JkKG51bSkgPDwgZW5kbDsKCiAgICB9CiAgICAKICAgIAogICAgcmV0dXJuIDA7Cn0=