#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* #include <string> */
/* #include <vector> */

#define SIZE 1000
#define K 13

/* using namespace std; */

struct Pair {
    int v;
    char *r;
};

struct Pair romans[K] = {
    {1000, "M"},
    {900, "CM"},
    {500, "D"},
    {400, "CD"},
    {100, "C"},
    {90, "XC"},
    {50, "L"},
    {40, "XL"},
    {10, "X"},
    {9, "IX"},
    {5, "V"},
    {4, "IV"},
    {1, "I"},
};


char* intToRoman(int num)
{
    /* string roman = ""; */
    char *roman = malloc(sizeof(char) * SIZE);
    int p = 0;

    while (num > 0) {
        /* for (auto &[v, r]: romans) { */
        for (int i = 0; i < K; ++i)
        {
            if (num >= romans[i].v) {
                num -= romans[i].v;
                /* roman += romans[i].r; */
                for (int j = 0; j < strlen(romans[i].r); ++j)
                {
                    roman[p++] = romans[i].r[j];
                }

                break;
            }
        }
    }
    roman[p] = '\0';
    return roman;
}


int main()
{
    int x;
    while (!feof(stdin)) {
        if (fscanf(stdin, "%d", &x) != 1)
            break;
        char *r = intToRoman(x);
        printf("%s\n", r);
        free(r);
    }
}
