#include #include int main() { char s[11000]; char s1[11000]; int i, d, j, k; char c, ddd[2]; int pm,pd,pc,pl,px,pv,pi; while (!feof(stdin)) { gets(s); s[10000]=0; d = strlen(s); s1[0] = '.'; s1[1] = 0; ddd[1] = 0; for (i=1; i<=d; i++) { c=s[i-1]; if ((c=='m') || (c=='M') || (c=='c') || (c=='C') || (c=='L') || (c=='l') || (c=='X') || (c=='x') || (c=='V') || (c=='v') || (c=='i') || (c=='I') || (c=='d') || (c=='D')) { ddd[0] = c; strcat(s1,ddd); } } strcpy(s, s1); d=strlen(s); j=0; s1[0] = 0; for (i=j+1; i<=d; i++) { if ((s[i]=='m') || (s[i]=='M')) { strcat(s1,"m"); j=i; } } for (i=j+1; i<=d; i++) { if ((s[i]=='d') || (s[i]=='D')) { strcat(s1,"d"); j=i; } } for (i=j+1; i<=d; i++) { if ((s[i]=='c') || (s[i]=='C')) { strcat(s1,"c"); j=i; } } for (i=j+1; i<=d; i++) { if ((s[i]=='l') || (s[i]=='L')) { strcat(s1,"l"); j=i; } } for (i=j+1; i<=d; i++) { if ((s[i]=='x') || (s[i]=='X')) { strcat(s1,"x"); j=i; } } for (i=j+1; i<=d; i++) { if ((s[i]=='v') || (s[i]=='V')) { strcat(s1,"v"); j=i; } } for (i=j+1; i<=d; i++) { if ((s[i]=='i') || (s[i]=='I')) { strcat(s1,"i"); j=i; } } d=strlen(s1); j=0; k=0; s=s1; pm=0; pd=0; pc=0; pl=0; px=0; pv=0; pi=0; for (i=1; i<=d; i++) { if (s[i]=='m') { j=j+1000; } else if (s[i]=='d') { if (pd<1) j=j+500; pd++; } else if (s[i]=='c') { if (pc<3) j=j+100; pc++; } else if (s[i]=='l') { if (pl<1) j=j+50; pl++; } else if (s[i]=='x') { if (px<3) j=j+10; px++; } else if (s[i]=='v') { if (pv<1) j=j+5; pv++; } else if (s[i]=='i') { if (pi<3) j=j+1; pi++; } } printf("%d\n", j); } return 0; }