#include <iostream>
#include <string>
#include <map>
#include <vector>
const std::map<char, int> letter_map{
{'I', 1},
{'V', 5},
{'X', 10},
{'L', 50},
{'C', 100},
{'D', 500},
{'M', 1000}
};
int RomanToInt(const std::string & s) {
int len = s.length();
std::vector<int> values(len);
for (int i = 0; i < len; ++i) {
values[i] = letter_map.at(s[i]);
}
int res = values[len - 1];
for (int i = 0; i + 1 < len; ++i) {
if (values[i] < values[i + 1]) {
res -= values[i];
} else {
res += values[i];
}
}
return res;
}
int main() {
// your code goes here
std::string s;
std::cin >> s;
std::cout << RomanToInt(s) << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8bWFwPgojaW5jbHVkZSA8dmVjdG9yPgoKY29uc3Qgc3RkOjptYXA8Y2hhciwgaW50PiBsZXR0ZXJfbWFwewogICAgeydJJywgMX0sCiAgICB7J1YnLCA1fSwKICAgIHsnWCcsIDEwfSwKICAgIHsnTCcsIDUwfSwKICAgIHsnQycsIDEwMH0sCiAgICB7J0QnLCA1MDB9LAogICAgeydNJywgMTAwMH0KfTsKCmludCBSb21hblRvSW50KGNvbnN0IHN0ZDo6c3RyaW5nICYgcykgewogICAgaW50IGxlbiA9IHMubGVuZ3RoKCk7CiAgICBzdGQ6OnZlY3RvcjxpbnQ+IHZhbHVlcyhsZW4pOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBsZW47ICsraSkgewogICAgICAgIHZhbHVlc1tpXSA9IGxldHRlcl9tYXAuYXQoc1tpXSk7CiAgICB9CiAgICBpbnQgcmVzID0gdmFsdWVzW2xlbiAtIDFdOwogICAgZm9yIChpbnQgaSA9IDA7IGkgKyAxIDwgbGVuOyArK2kpIHsKICAgICAgICBpZiAodmFsdWVzW2ldIDwgdmFsdWVzW2kgKyAxXSkgewogICAgICAgICAgICByZXMgLT0gdmFsdWVzW2ldOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJlcyArPSB2YWx1ZXNbaV07CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHJlczsKfQoKaW50IG1haW4oKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCiAgICBzdGQ6OnN0cmluZyBzOwogICAgc3RkOjpjaW4gPj4gczsKICAgIHN0ZDo6Y291dCA8PCBSb21hblRvSW50KHMpIDw8IHN0ZDo6ZW5kbDsKCXJldHVybiAwOwp9