#include <bits/stdc++.h>
using namespace std;
int main(){
string s1,s2;
map <char,int> m{
{'I', 1},
{'V', 5},
{'X', 10},
{'L', 50},
{'C', 100},
{'D', 500},
{'M', 1000},
};
while(cin>>s1){
if(s1=="#")break;
cin>>s2;
int t1 = 0, t2 = 0;
for (int i = 0; i < s1.size(); i++) {
if (i + 1 < s1.size() && m[s1[i]] < m[s1[i + 1]]) t1 -= m[s1[i]];
else t1 += m[s1[i]];
}
for (int i = 0; i < s2.size(); i++) {
if (i + 1 < s2.size() && m[s2[i]] < m[s2[i + 1]]) t2 -= m[s2[i]];
else t2 += m[s2[i]];
}
int diff = abs(t1 - t2);
if(diff==0)cout<<"ZERO"<<endl;
else {
string result = "";
vector<pair<int, string>> romanList = {
{1000, "M"}, {900, "CM"}, {500, "D"}, {400, "CD"},
{100, "C"}, {90, "XC"}, {50, "L"}, {40, "XL"},
{10, "X"}, {9, "IX"}, {5, "V"}, {4, "IV"},
{1, "I"}};
for (const auto& p : romanList) {
while (diff >= p.first) {
result += p.second;
diff -= p.first;}}
cout<<result<<endl;
}
}
return 0;
}