#include <iostream>
#include <string>
#include <math.h>
using namespace std;
int change(char a)
{
if(a=='I')
return 1;
if(a=='V')
return 5;
if(a=='X')
return 10;
if(a=='L')
return 50;
if(a=='C')
return 100;
if(a=='D')
return 500;
if(a=='M')
return 1000;
}
void print(int a,int p) // 數字/位數
{
if(p==4){
for(int i=0;i<a;i++)
cout<<"M";
}
if(p==3){
if(a==4){
cout<<"CD";
}
else if(a==9){
cout<<"CM";
}
else if(a==5){
cout<<"D";
}
else if(a>5){
cout<<"D";
for(int i=0;i<a-5;i++)
cout<<"C";
}
else if(a<5){
for(int i=0;i<a;i++)
cout<<"C";
}
}
if(p==2){
if(a==4){
cout<<"XL";
}
else if(a==9){
cout<<"XC";
}
else if(a==5){
cout<<"L";
}
else if(a>5){
cout<<"L";
for(int i=0;i<a-5;i++)
cout<<"X";
}
else if(a<5){
for(int i=0;i<a;i++)
cout<<"X";
}
}
if(p==1){
if(a==4){
cout<<"IV";
}
else if(a==9){
cout<<"IX";
}
else if(a==5){
cout<<"V";
}
else if(a>5){
cout<<"V";
for(int i=0;i<a-5;i++)
cout<<"I";
}
else if(a<5){
for(int i=0;i<a;i++)
cout<<"I";
}
}
}
int number_of_digit(int a) //傳入非0數字
{
for(int i=0;i<5;i++){
if(a-pow(10,i)<0){
return i;
}
if(a-pow(10,i)==0){
return i+1;
}
}
}
int main()
{
string temp; // 輸入的字串
char c[100],d[100]; //將字串分成兩個
int lenc=0,lend=0;
int a,b; //轉成的數字
int anser[100000]; //相減後的數字
anser[0]=0; //共有幾個
while(1){
lenc=0;
lend=0;
getline(cin,temp);
int index;
if(temp[0]=='#')
break;
for(int i=0;i<temp.length();i++){
if(temp[i]==' '){
index=i+1;
break;
}else{
c[i]=temp[i];
lenc=lenc+1;
}
}
for(int i=index;i<temp.length();i++){
d[i-index]=temp[i];
lend=lend+1;
}
int sum=0;
for(int i=0;i<lenc;i++){
if(i<lenc && change(c[i])<change(c[i+1])){
sum=sum+change(c[i+1])-change(c[i]);
i=i+1;
}else{
sum=sum+change(c[i]);
}
}
a=sum;
sum=0;
for(int i=0;i<lend;i++){
if(i<lend-1 && change(d[i])<change(d[i+1])){
sum=sum+change(d[i+1])-change(d[i]);
i=i+1;
}else{
sum=sum+change(d[i]);
}
}
b=sum;
anser[0]=anser[0]+1;
anser[anser[0]]=abs(a-b);
}
for(int i=1;i<=anser[0];i++){
if(anser[i]==0){
cout<<"ZERO";
cout<<"\n";
continue;
}
int num=number_of_digit(anser[i]);//位數
for(int j=num-1;j>=0;j--){
for(int k=1;k<=10;k++){
if(anser[i]-k*pow(10,j)<0){
anser[i]=anser[i]-(k-1)*pow(10,j);
print(k-1,j+1);
break;
}
if(anser[i]-k*pow(10,j)==0){
anser[i]=anser[i]-k*pow(10,j);
print(k,j+1);
break;
}
}
}
cout<<"\n";
}
}