Mistrzostwa Polski Szkół Średnich w Programowaniu Zespołowym 2024

2020-2022 2023 Regulations Schedule RODO info Ranking

Problem description


Rzymskie liczby
(rzymskie-liczby)
Limit pamięci: 32 MB
Limit czasu: 0.50 s

Jasio jutro będzie pisał kartkówkę z zamiany liczb na system rzymski. Radzi sobie z tym dosyć słabo, dlatego jak zwykle prosi Cię o pomoc.

Oto zasady zapisywania liczb w systemie rzymskim:

  • do zapisu liczb używa się wielkich liter alfabetu, przy czym I oznacza 1, V oznacza 5, X oznacza 10, L oznacza 50, C oznacza 100, D oznacza 500, M oznacza 1000,
  • litery zapisu każdej liczby są zapisane w kolejności nierosnących wartości liczbowych,
  • niedopuszczalnym jest, aby obok siebie w zapisie liczby wystąpiły cztery takie same litery,
  • wszystkie litery użyte do zapisu liczby rzymskiej są dodawane, wyjątkiem jest sytuacja, w której przed literą o większej wartości liczbowej znajduje się litera o mniejszej wartości liczbowej – wówczas do sumy dodaje się różnicę wartości tych liter (np. IV oznacza 4 oraz CM oznacza 900),
  • jedyne cyfry, które mogą być postawione przed cyframi o większej wartości to: I, X, C. Niedopuszczalnym jest zatem zapis VL, a także zapis LM,
  • jeśli decydujemy się postawić cyfrę o mniejszej wartości przed cyfrą o większej wartości to musi być to cyfra pięciokrotnie lub dziesięciokrotnie mniejsza. Niedopuszczalnym jest zatem zapis IC, a także zapis XD.

Napisz program, który wczyta ze standardowego wejścia liczbę dziesiętną N, obliczy jej reprezentację rzymską i wypisze wynik na standardowe wyjście.

Wejście

W pierwszym i jedynym wierszu wejścia znajduje się jedna liczba naturalna N – jest to liczba, którą należy zamienić na liczbę rzymską.

Wyjście

W pierwszym i jedynym wierszu standardowego wyjścia wypisać należy liczbę rzymską, będącą odpowiednikiem liczby N.

Ograniczenia

1 ≤ N < 4 000

Przykład

Wejście Wyjście
14
XIV