class NumText2 {
public static void main(String args[]) {
System.out.println(" 0: "+X.p( 0L));
System.out.println(" 1: "+X.p( 1L));
System.out.println(" 9: "+X.p( 9L));
System.out.println(" 10: "+X.p( 10L));
System.out.println(" 11: "+X.p( 11L));
System.out.println(" 12: "+X.p( 12L));
System.out.println(" 13: "+X.p( 13L));
System.out.println(" 14: "+X.p( 14L));
System.out.println(" 15: "+X.p( 15L));
System.out.println(" 16: "+X.p( 16L));
System.out.println(" 17: "+X.p( 17L));
System.out.println(" 18: "+X.p( 18L));
System.out.println(" 19: "+X.p( 19L));
System.out.println(" 20: "+X.p( 20L));
System.out.println(" 27: "+X.p( 27L));
System.out.println(" 100: "+X.p( 100L));
System.out.println(" 111: "+X.p( 111L));
System.out.println(" 123: "+X.p( 123L));
System.out.println(" 1000: "+X.p( 1000L));
System.out.println(" 1002: "+X.p( 1002L));
System.out.println(" 4521: "+X.p( 4521L));
System.out.println(" 34567: "+X.p( 34567L));
System.out.println(" 230518: "+X.p( 230518L));
System.out.println(" 1000000: "+X.p( 1000000L));
System.out.println(" 2000000: "+X.p( 2000000L));
System.out.println(" 4234507: "+X.p( 4234507L));
System.out.println(" 11201514: "+X.p( 11201514L));
System.out.println(" 145234567: "+X.p( 145234567L));
System.out.println(" 1000000000: "+X.p( 1000000000L));
System.out.println(" 1000000000000: "+X.p( 1000000000000L));
System.out.println(" 1000000000000000: "+X.p( 1000000000000000L));
System.out.println(" 987000000000000001: "+X.p( 987000000000000001L));
System.out.println("9223372036854775807: "+X.p(9223372036854775807L));
}
}
class X{static String _,I="zig",l="zehn",J="illi",í="m"+J,ì="b"+J,f="arde",a=
"sech",b="sieb",c="ach",î[]=new String[]{_,"ein","zwei","drei","vier","fünf",a
+"s",b+"en",c+"t","neun"},T[]=new String[]{_,l,"zwan"+I,î[3]+"ßig",î[4]+I,î[5]
+I,a+I,b+I,c+I,î[9]+I},L[]=new String[]{l,"elf","zwölf",_,_,_,a+l,b+l,c+l},$[]
=new String[]{"","tausend",í+"on",í+f,ì+"on",ì+f,"tr"+J+"on"};static String p(
long n){return(n==0?""+_:p(n,0));}static String p(long n,int k){String r="";if
(n%1000==0)return p(n/1000,k+1);int h=(int)(n%1000)/100;int t=(int)(n%100)/10;
int o=(int)(n%10);if(h>0)r+=î[h]+"hundert";if(t>0){if(t==1){if(o%6<3)r+=L[o];
else r+=î[o]+l;}else if(o==0)r+=T[t];else r+=î[o]+"und"+T[t];}else if(o>0)r+=î
[o];if(k<2)r+=$[k];else if(o==1&&t==0)r+="e"+$[k];else if(k%2==0)r+=$[k]+"en";
else r+=$[k]+"n";if(n/1000!=0)r=p(n/1000,k+1)+r;return r;}}