#include #define NWORDS 33 char *words[NWORDS]= { "negative", "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety", "hundred", "thousand", "million", "" }; int val[NWORDS]= {0, 0,1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15,16,17,18,19, 20,30,40,50,60,70,80,90,0,0,0,0}; char * getword(char * s,char ** w) { while(s[0]&&(s[0]==' '))s++; *w=s; while(s[0]&&(s[0]!=' '))s++; if(s[0]) { s[0]=0; return s+1; }else return s; } int getwr(char ** s) { int i; char * w; *s=getword(*s,&w); for(i=0;i=1)&&(w<=28)) { d+=val[w]; } else if(w==29) { d*=100; } else if(w==30) { v+=d*1000; d=0; } else if(w==31) { v+=d*1000000; d=0; } } v+=d; return m*v; } int main() { char Line[100000]; while((scanf("%[^\n]\n",Line))==1) { printf("%d\n",parse(Line)); } return 0; }