map<longint,string>CharNumberValue;intmain(){CharNumberValue[0]="zero";CharNumberValue[1]="one";CharNumberValue[2]="two";CharNumberValue[3]="three";CharNumberValue[4]="four";CharNumberValue[5]="five";CharNumberValue[6]="six";CharNumberValue[7]="seven";CharNumberValue[8]="eight";CharNumberValue[9]="nine";CharNumberValue[10]="ten";CharNumberValue[11]="eleven";CharNumberValue[12]="twelve";CharNumberValue[13]="thirteen";CharNumberValue[14]="fourteen";CharNumberValue[15]="fifteen";CharNumberValue[16]="sixteen";CharNumberValue[17]="seventeen";CharNumberValue[18]="eighteen";CharNumberValue[19]="nineteen";CharNumberValue[20]="twenty";CharNumberValue[30]="thirty";CharNumberValue[40]="forty";CharNumberValue[50]="fifty";CharNumberValue[60]="sixty";CharNumberValue[70]="seventy";CharNumberValue[80]="eighty";CharNumberValue[90]="ninety";CharNumberValue[100]="hundred";//Sameer,remember 100 is one hundredCharNumberValue[1000]="thousand";//Sameer,remember 1000 is one thousandlongintcount=0;for(inti=1;i<=1000;i++){if(i<=100){intten=(i/10)*10;intunit=i%10;map<longint,string>::iteratorit=CharNumberValue.find(i);map<longint,string>::iteratorit1=CharNumberValue.find(unit);map<longint,string>::iteratorit2=CharNumberValue.find(ten);if(i<10){count+=it1->second.length();}if(i>=10&&i<=20){count+=it->second.length();//These are unique}if(i>20&&i<=100){count+=it1->second.length();count+=it2->second.length();}}if(i>100&&i<1000){inthun=i/100;intten=i%100;intmten=(ten/10)*10;//modified tenintunit=ten%10;map<longint,string>::iteratorit=CharNumberValue.find(unit);map<longint,string>::iteratorit1=CharNumberValue.find(mten);map<longint,string>::iteratorit2=CharNumberValue.find(ten);map<longint,string>::iteratorit3=CharNumberValue.find(hun);intcounttemp=CharNumberValue[100].length();count+=it3->second.length()+CharNumberValue[100].length()+3/*for and*/;if(ten<=20){count+=it2->second.length();//These are unique}if(ten>20&&ten<=99){count+=it1->second.length();count+=it3->second.length();}}}cout<<count;return0;}