def solution(num):
if(0<num<=5):
if(num<4):
return (num)*"I"
else:
return (5-num)*"I"+"V"
elif(5<num<=10):
return "V"+(num-5)*"I"
elif(10<num<=50):
left_10=num%10
if(0<=left_10<=5):
if(left_10<4):
return (num/10)*"X"+(left_10)*"I"
else:
return (num/10)*"X"+(5-left_10)*"I"+"V"
else:
if(5<left_10<9):
return (num/10)*"X"+"V"+(left_10-5)*"I"
else:
return (num/10)*"X"+(10-left_10)*"I"+"V"
elif(50<num<=100):
left_50=num%50
if(10<left_50<=50):
left_10=left_50%10
if(0<=left_10<=5):
if(left_10<4):
return (num/50)*"L"+(left_50/10)*"X"+(left_10)*"I"
else:
return (num/50)*"L"+(left_50/10)*"X"+(5-left_10)*"I"+"V"
else:
if(5<left_10<9):
return (num/50)*"L"+(left_50/10)*"X"+"V"+(left_10-5)*"I"
else:
return (num/50)*"L"+(left_50/10)*"X"+(10-left_10)*"I"+"V"
elif(100<num<=500):
left_100=num%100
if(50<left_100<=100):
left_50=left_100%50
if(10<left_50<=50):
left_10=left_50%10
if(0<=left_10<=5):
if(left_10<4):
return (num/100)*"C"+(left_100/50)*"L"+(left_50/10)*"X"+(left_10)*"I"
else:
return (num/100)*"C"+(left_100/50)*"L"+(left_50/10)*"X"+(5-left_10)*"I"+"V"
else:
if(5<left_10<9):
return (num/100)*"C"+(left_100/50)*"L"+(left_50/10)*"X"+"V"+(left_10-5)*"I"
else:
return (num/100)*"C"+(left_100/50)*"L"+(left_50/10)*"X"+(10-left_10)*"I"+"V"
elif(500<num<1000):
left_500=num%50
if(100<left_500<=500):
left_100=left_500%100
if(50<left_100<=100):
left_50=left_100%50
if(10<left_50<=50):
left_10=left_50%10
if(0<=left_10<=5):
if(left_10<4):
return (num/500)*"D"+(left_500/100)*"C"+(left_100/50)*"L"+(left_50/10)*"X"+(left_10)*"I"
else:
return (num/500)*"D"+(left_500/100)*"C"+(left_100/50)*"L"+(left_50/10)*"X"+(5-left_10)*"I"+"V"
else:
if(5<left_10<9):
return (num/500)*"D"+(left_500/100)*"C"+(left_100/50)*"L"+(left_50/10)*"X"+"V"+(left_10-5)*"I"
else:
return (num/500)*"D"+(left_500/100)*"C"+(left_100/50)*"L"+(left_50/10)*"X"+(10-left_10)*"I"+"V"
else:
left_1000=num%1000
if(500<left_1000<1000):
left_500=left_1000%50
if(100<left_500<=500):
left_100=left_500%100
if(50<left_100<=100):
left_50=left_100%50
if(10<left_50<=50):
left_10=left_50%10
if(0<=left_10<=5):
if(left_10<4):
return (num/1000)*"M"+(left_1000/500)*"D"+(left_500/100)*"C"+(left_100/50)*"L"+(left_50/10)*"X"+(left_10)*"I"
else:
return (num/1000)*"M"+(left_1000/500)*"D"+(left_500/100)*"C"+(left_100/50)*"L"+(left_50/10)*"X"+(5-left_10)*"I"+"V"
else:
if(5<left_10<9):
return (num/1000)*"M"+(left_1000/500)*"D"+(left_500/100)*"C"+(left_100/50)*"L"+(left_50/10)*"X"+"V"+(left_10-5)*"I"
else:
return (num/1000)*"M"+(left_1000/500)*"D"+(left_500/100)*"C"+(left_100/50)*"L"+(left_50/10)*"X"+(10-left_10)*"I"+"V"
print(solution(9))