#include <iostream>
#include <string>
using namespace std;
class RzymArab
{
private:
static string rzym[13];
static int arab[13];
public:
static int rzym2arab(string);
static string arab2rzym(int);
};
string RzymArab::rzym[13] = {"I","IV","V","IX","X","XL","L","XC","C","CD","D","CM","M"};
int RzymArab::arab[13] = {1,4,5,9,10,40,50,90,100,400,500,900,1000};
string RzymArab::arab2rzym(int x)
{
int i=12;
string s="";
while(x>=1)
{
if(x>=arab[i])
{
x-=arab[i];
s=s+rzym[i];
}
else
i-=1;
}
return s;
}
int main()
{
string x;
x=RzymArab::arab2rzym(1164);
cout<<x<<endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNsYXNzIFJ6eW1BcmFiIAp7CiAgICBwcml2YXRlOgogICAgICAgIHN0YXRpYyBzdHJpbmcgcnp5bVsxM107CiAgICAgICAgc3RhdGljIGludCBhcmFiWzEzXTsKICAgIHB1YmxpYzoKICAgICAgICBzdGF0aWMgaW50IHJ6eW0yYXJhYihzdHJpbmcpOwogICAgICAgIHN0YXRpYyBzdHJpbmcgYXJhYjJyenltKGludCk7Cn07CgpzdHJpbmcgUnp5bUFyYWI6OnJ6eW1bMTNdID0geyJJIiwiSVYiLCJWIiwiSVgiLCJYIiwiWEwiLCJMIiwiWEMiLCJDIiwiQ0QiLCJEIiwiQ00iLCJNIn07CmludCBSenltQXJhYjo6YXJhYlsxM10gPSB7MSw0LDUsOSwxMCw0MCw1MCw5MCwxMDAsNDAwLDUwMCw5MDAsMTAwMH07CgpzdHJpbmcgUnp5bUFyYWI6OmFyYWIycnp5bShpbnQgeCkgCnsKICAgIGludCBpPTEyOwogICAgc3RyaW5nIHM9IiI7CgogICAgd2hpbGUoeD49MSkgCiAgICB7CiAgICAgICAgaWYoeD49YXJhYltpXSkKICAgICAgICAgICAgewogICAgICAgICAgICB4LT1hcmFiW2ldOwogICAgICAgICAgICBzPXMrcnp5bVtpXTsKICAgICAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICAgICAgaS09MTsKICAgIH0KICAgIHJldHVybiBzOwp9ICAgICAgIAoKaW50IG1haW4oKSAKewogICAgc3RyaW5nIHg7CiAgICB4PVJ6eW1BcmFiOjphcmFiMnJ6eW0oMTE2NCk7CiAgICBjb3V0PDx4PDxlbmRsOwogICAgcmV0dXJuIDA7Cn0g