import java.io.*;
public class NumberNames
{
static String A[]={"","One","Two","Three","Four","Five","Six","Seven","Eight","Nine","Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen","Eighteen","Nineteen"};
static String B[]={"","","Twenty","Thirty","Forty","Fifty","Sixty","Seventy","Eighty","Ninety"};
static String ConvertToName(int number, int divisionR, int divisionC)
{
if(number==0)return "";
String div[][]={{"","thousand","lakh","crore","arab","hundred arab"},{"","thousand","million","billion","trillion","quadrillion"}};
String s;
if(number< 20)
         return removeXtraSpc(A[number]+" "+div[divisionR][divisionC]+" ");
         s=Integer.toString(number);
         while(s.length()< 3)
         s="0"+s;
         int x=s.charAt(2)-48;
         int y=s.charAt(1)-48;
         int z=s.charAt(0)-48;
         if(y> 1) s=B[y]+" "+A[x]+" ";
else s=A[10*y+x]+" ";
if(z!=0)
s=A[z]+" Hundred "+((x!=0||y!=0)?" And ":"")+s;
return removeXtraSpc(s+" "+div[divisionR][divisionC]);
}
public static String removeXtraSpc(String s)
{
int a=0;
while(a< s.length()-1)
            {
                if(s.charAt(a)==s.charAt(a+1)&&s.charAt(a)==' ')
                {
                    String S1=s.substring(0,a);
                    String S2=s.substring(a+1,s.length());
                    s=S1+S2;
                    continue;
                }
                a++;
            }
            return s;
        }
        
        public static void main(String aa[])throws IOException
        {
            BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
            String s=null;
            int x=0;
            do{
                try{
                    System.out.println("Enter a valid Positive Integer: ");
                    s=br.readLine();
                    if(s.length()>18) continue;
x=Integer.parseInt(s);
}catch(Exception e)
{
s=null;
}
}while(s==null||x< 0);
                if(x==0)
                s="Zero";
                else if(x< 1000)
                s=ConvertToName(x,0,0);
                
                else
                {
                    char c='.';
                    do{
                        System.out.println("Enter a choice: ");
                        System.out.println("1: For Name in Indian System");
                        System.out.println("2: For Name in International System");
                        s=br.readLine();
                        if(s.length()!=1) continue;
                        c=s.charAt(0);
                    }while(c< '1'||c> '2');
s=Integer.toString(x);
c=(char)(c-49);
int a=(c==0?2:3);
int b=1;
String S=s.substring(s.length()-3,s.length());
String t=ConvertToName(Integer.parseInt(S),0,0);
if(Integer.parseInt(S)< 100) t=" and "+t;
                    c=(char)(s.length()-3);
                    while(c-a> 0)
{
S=s.substring(c-a,c);
t=ConvertToName(Integer.parseInt(S),a-2,b++)+" "+t;
c=(char)(c-a);
}
if(c-a<=0)
{
S=s.substring(0,c);
t=ConvertToName(Integer.parseInt(S),a-2,b++)+" "+t;
}
s=t;
}//else closes here
s=removeXtraSpc(s);
System.out.println(s);
}//main() closes here
}//class closes here
