



'''simple docstring'''






lowerCAmelCase:      int		 =		[
    (1_0_0_0, 'M'),
    (9_0_0, 'CM'),
    (5_0_0, 'D'),
    (4_0_0, 'CD'),
    (1_0_0, 'C'),
    (9_0, 'XC'),
    (5_0, 'L'),
    (4_0, 'XL'),
    (1_0, 'X'),
    (9, 'IX'),
    (5, 'V'),
    (4, 'IV'),
    (1, 'I'),
]
def    lowerCamelCase__ (		_A       ):
  a		:      Tuple       =  {'I': 1, 'V': 5, 'X': 10, 'L': 50, 'C': 100, 'D': 500, 'M': 1000}
  a		:      int       =  0
  a		:      List[Any]       =  0
  while place < len(snake_case__       ):
    if (place + 1 < len(snake_case__       )) and (vals[roman[place]] < vals[roman[place + 1]]):
      total += vals[roman[place + 1]] - vals[roman[place]]
      place += 2
    else:
      total += vals[roman[place]]
      place += 1
  return total
def    lowerCamelCase__ (		_A       ):
  a		:      List[Any]       =  []
  for arabic, roman in ROMAN:
    ((a)     ,			(a))		:      Any       =  divmod(snake_case__				,    snake_case__       )
    result.append(roman * factor       )
    if number == 0:
      break
  return "".join(snake_case__       )


if __name__ == "__main__":
     import doctest

     doctest.testmod()




'''simple docstring'''






def    lowerCamelCase__ (		_A = 6008_5147_5143       ):

  try:
    a		:      Optional[int]       =  int(_A       )
  except (TypeError, ValueError):
    raise TypeError('Parameter n must be int or castable to int.'       )
  if n <= 0:
    raise ValueError('Parameter n must be greater than or equal to one.'       )
  a		:      Any       =  1
  a		:      Union[str, Any]       =  2
  while i * i <= n:
    while n % i == 0:
      a		:      str       =  i
      n //= i
    i += 1
  if n > 1:
    a		:      Any       =  n
  return int(_A       )


if __name__ == "__main__":
     print(F"{solution() = }")