#include int solve() { int M=0, D=0, C=0, L=0, X=0, V=0, I=0; int I2=0 ,X2=0; char ch; while (ch=getchar()) { switch (ch) { case 'm': M++; D=C=L=X=V=I=X2=I2=0; break; case 'd': if (D==0) { D=1; C=L=X=V=I=X2=I2=0; } break; case 'c': if (C<3) { C++; L=X=V=I=X2=I2=0; } else if (C==3) { if (X2) { X=-1; C=4; L=V=I=X2=I2=0; } } break; case 'l': if ((L==0) && (X>=0)) { L=1; X=V=I=I2=0; } break; case 'x': if ((X<3) && (X>=0)) { X++; X2=1; V=I=I2=0; } else if (X==3) { if (I2) { I=-1; X=4; V=I2=0; } } break; case 'v': if ((V==0) && (I>=0)) { V=1; I=0; } break; case 'i': if ((I<3) && (I>=0)) { I++; I2=1; } break; case '\n': printf("%d\n",M*1000+ D*500+ C*100 +L*50+ X*10+ V*5+ I); return 1; case EOF: return 0; default: break; } } return 0; } int main(void) { for (;;) { if (!solve()) { return 0; } } }