#include int readln( char *znaky){ char n; int i = 0; while('\n' != (n = getchar())){ if( n == EOF ){ znaky[i] = 0; return(0); } znaky[i++] = n; } znaky[i] = 0; return(1); } int main(){ char znaky[10001]; int cislo[10010]; int i, j, k; int cmx,cmc,cmi; int nrad=1; int n=0; int mc=0; while( readln(&znaky) ){ k = 0; n=0; cmx=cmc=cmi=0; for(i=0; znaky[i] != '\0' ; i++){ switch( znaky[i] ){ case 'i': cislo[k++] = 1; break; case 'v': cislo[k++] = 5; break; case 'x': cislo[k++] = 10; break; case 'l': cislo[k++] = 50; break; case 'c': cislo[k++] = 100; break; case 'd': cislo[k++] = 500; break; case 'm': cislo[k++] = 1000; break; } } k--; for(; k > -1 ; k--){ /* printf("%d\n",cislo[k]);*/ if (cislo[k]==1) { if (cmi) { n--; cmi=0; } else if (n<3) { n++; cmx=cmc=cmi=0; } } else if (cislo[k]==5) { if (n<4) { n+=5; cmx=cmc=cmi=0; if (n==5) cmi=1; } } else if (cislo[k]==10) { if (cmx) { n-=10; cmx=0; } else if (n<30) { cmx=cmc=cmi=0; if (n==10) cmi=1; } } else if (cislo[k]==50) { if (n<40) { n+=50; cmx=cmc=cmi=0; if (n<59) cmx=1; } } else if (cislo[k]==100) { if (cmc) { n-=100; cmc=0; } else if (n<300) { n+=100; cmx=cmc=cmi=0; if (n<109) cmx=1; } } else if (cislo[k]==500) { if (n<400) { n+=500; cmx=cmc=cmi=0; if (n<590) cmc=1; } } else if (cislo[k]==1000) { n+=1000; cmx=cmc=cmi=0; if (n<1090) cmc=1; } } printf("%d\n",n); } return 0; }