#55453: c++


61247091s@gapps.ntnu.edu.tw (wei)


#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;
}