/*
http://blog.csdn.net/feliciafay/article/details/17238611
 http://www.cnblogs.com/glorywu/p/5256968.html
 */
 
#include<bits/stdc++.h> 
using namespace std;
class LM {  
public:  
    string intToRoman(int num) {  
        string thousand[4] = {"", "M", "MM","MMM"};  
        string hundred[11] = {"", "C","CC","CCC","CD","D","DC","DCC","DCCC","CM"};   
        string ten[11] = {"", "X", "XX","XXX","XL","L","LX","LXX","LXXX","XC"};   
        string one[11] = {"", "I","II","III","IV","V","VI","VII","VIII","IX"};   
        string result = "";  
        string* trans[4] = {one, ten, hundred, thousand};  
        int index = 0;  
        while (num > 0) {  
            result = trans[index][num % 10] + result;  
            num = num / 10;  
            index++;  
        }  
        return result;  
    }  
};  
int main()
{ 
    LM  lm;
   for(int i=1;i<1000;i++)
   {
       cout<<i<<" : "<<lm.intToRoman(i)<<endl;
   } 
	return 0;
}