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))