#include #define I 1 #define V 5 #define X 10 #define L 50 #define C 100 #define D 500 #define M 1000 int main(void) { long vys=0; short cnt=0; int last=0; int cn=0; char a[10001]; while (gets(a)!=NULL) { /*printf("%s ",a);*/ last=0; vys=0; cnt=0; for(cn=0;a[cn]!=0;cn++) { if(a[cn]=='m') { vys+=1000; last=cn; } } for(cn=last+1;a[cn]!=0;cn++) { if(a[cn]=='d') { vys+=500; last=cn; break; } } cnt=0; for(cn=last+1;a[cn]!=0;cn++) { if(a[cn]=='c') { vys+=100; last=cn; cnt++; if(cnt==3) { cnt=0; for(cn=last+1;a[cn]!=0;cn++) { if(a[cn]=='x') { for(cn++;a[cn]!=0;cn++) { if(a[cn]=='c') { vys+=90; last=cn; goto vecko; } } } } break; } } } for(cn=last+1;a[cn]!=0;cn++) { if(a[cn]=='l') { vys+=50; last=cn; break; } } cnt=0; for(cn=last+1;a[cn]!=0;cn++) { if(a[cn]=='x') { vys+=10; last=cn; cnt++; if(cnt==3) { cnt=0; vecko: for(cn=last+1;a[cn]!=0;cn++) { if(a[cn]=='i') { for(cn++;a[cn]!=0;cn++) { if(a[cn]=='x') { vys+=9; goto konec; } } } } break; } } } for(cn=last+1;a[cn]!=0;cn++) { if(a[cn]=='v') { vys+=5; last=cn; break; } } cnt=0; for(cn=last+1;a[cn]!=0;cn++) { if(a[cn]=='i') { vys++; last=cn; cnt++; if(cnt==3){cnt=0;break;} } } konec: printf("%ld\n",vys); } return 0; }