#include <iostream.h>
#include <string>
//using std :: cout ;
//using std :: cin ;
//using std :: string ;
using namespace std ;
string onetwo (char input) //in tabefaghat baraye zamani ezafe mishe ke raghame yeki moonde be akhar '1' bashe , yani adade 10 ta 19 ;
{
switch (input)
{
case '1' :
return "yaz" ;
case '2' :
return "davaz" ;
case '3' :
return "siz" ;
case '4' :
return "char" ;
case '5' :
return "poonz" ;
case '6' :
return "shoonz" ;
case '7' :
return "hifdah" ;
case '8' :
return "hijdah" ;
case '9' :
return "noozdah" ;
case '0' :
return "" ;
default :
cout << "<<<ERROR! there is a non-numeric value in the input !~>>>" ;
}
return "NONE" ;
}
string tof (char input , int place) //avalin etefaghi ke baraye har adad miofte ine ke khode oon adad ba arzeshe makanish miad too in tabe
{
switch (input)
{
case '1' :
if (place == 0)
return "sad" ;
else if (place == 1)
return "yek" ;
case '2' :
if (place == 0)
return "divist" ;
else if (place == 2)
return "bist" ;
else if (place == 1)
return "do" ;
case '3' :
if (place == 0)
return "sisad" ;
else if (place == 2)
return "si" ;
else if (place == 1)
return "se" ;
case '4' :
if (place == 0)
return "charsad" ;
else if (place == 2)
return "chehel" ;
else if (place == 1)
return "char" ;
case '5' :
if (place == 0)
return "poonsad" ;
else if (place == 2)
return "panjah" ;
else if (place == 1)
return "panj" ;
case '6' :
if (place == 0)
return "shishsad" ;
else if (place == 2)
return "shast" ;
else if (place == 1)
return "shish" ;
case '7' :
if (place == 0)
return "haftsad" ;
else if (place == 2)
return "haftad" ;
else if (place == 1)
return "haft" ;
case '8' :
if (place == 0)
return "hashtsad" ;
else if (place == 2)
return "hashtad" ;
else if (place == 1)
return "hasht" ;
case '9' :
if (place == 0)
return "nohsad" ;
else if (place == 2)
return "navad" ;
else if (place == 1)
return "noh" ;
case '0' :
return "" ;
default :
cout << "<<<ERROR! there is a non-numeric value in the input !~>>>" ;
}
return "NONE" ;
}
int main ()
{
string input ; //in hamoon adadie ke karbar vared mikone
int length ; //in toole adadie ke karbar vared mikone
cin >> input ;
length = input.length () ;
for (int i = 0 ; i < length ; i ++)
{
if (input [i] != '1' || (length - i) != 2) //in shartaro gozashtam ke baraye adadi ke raghame dahganeshoon yeke in tabe ejra nashe
cout << tof (input [i] , (length - i) % 3) ;
else //va age adade morede nazar raghame dahganesh yek bood (yani do raghame ajkharesh adade 10 ta 19 bood ...
cout << onetwo (input [++ i]) << "dah" ;
if ((length - i) % 3 == 1) //in ghesmat ham baraye ine ke million o milliard o hezar o ... a maloom she , barnameye to ta milliard bishtar tashkhis nemide, age mikhay bishtar neshoon bede ba ye taghire koochik mitooni ta binahayat ham edamash bedi
{
if ((length - i) / 3 == 3)
cout << " milliard" ;
else if ((length - i) / 3 == 2)
cout << " million" ;
else if ((length - i) / 3 == 1)
cout << " hezar" ;
}
if (input [i + 1] != '0' && i != length - 1) //inam ke maloome faseleye beyne adad ro moshakhas mikone
cout << " o " ;
}
return 0 ;
}