Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
Statistical Charts
Submit Problem
Online Status
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Time Limit: 1000MSMemory Limit: 65536K
Total Submissions: 586Accepted: 52


``The system of Roman numerals is a numeral system originating from ancient Rome, and was adapted from Etruscan numerals. The system used in classical antiquity was slightly modified in the Middle Ages to produce the system we use today. It is based on certain letters which are given values as numerals." (From

Since ACM is where innovation starts, a new numeral system, called Nuevo-Romano, is derived from the Roman numerals with one slight modification. The basic set of Roman Numeral systems are:

  • I or i for one
  • V or v for five
  • X or x for ten
  • L or l for fifty
  • C or c for one hundred
  • D or d for five hundred
  • M or m for one thousand

Nuevo-Romano extends it by adding `O' or `o' to mean multiplied by one thousand. However, the new numeral is only applied to numerals greater than 3 or III or iii, e.g.

  • IVO or ivo for four thousand
  • VO or vo for five thousand
  • XO or xo for ten thousand
  • MO or mo for one million

The same rules for multiple symbol combinations to produce numbers between these values are applied.

  1. The number is written using the symbols with the symbol of highest value as the first numeral followed by a symbol of lower value except in special cases as defined below. Example: MMMDCCCLXXVIII = 3,878.
  2. The I or i, X or x, C or c and M or m can be repeated up to a maximum of three times, e.g. III or iii for three, XXX or xxx for thirty, CC or cc for two hundred and MM or mm for two thousand.
  3. V, L and D can only be used once.
  4. I, X and C can appear before a larger symbol to indicate subtraction. Only the following are allowed:

    IV = 5 - 1 = 4

    IX = 10 - 1 = 9

    XL = 50 - 10 = 40

    XC = 100 - 10 = 90

    CD = 500 - 100 = 400

The task is to determine the sum of two Nuevo-Romano numbers and output both the Nuevo-Romano number and the Latin alphabet-based Arabic number.


Each line in the input consists of two Nuevo-Romano numbers separated by a `+' sign. The input is in mixed case. If the given Nuevo-Romano number is not a valid one, print ``INVALID" in the line.

No strings presumed to be a Nuevo-Romano number will exceed 100 in length.


The sum expressed as a Nuevo-Romano number in uppercase and its Arabic number form separated by an `=' sign.

Sample Input


Sample Output



1. multiple 'O' is allowed
2. 'O' followed by 'M' is invalid


[Submit]   [Go Back]   [Status]   [Discuss]

Home Page   Go Back  To top

All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator