


"""simple docstring"""


import os
import string
import sys


A     :   Union[str, Any]			    =			1 << 8

A     :   Optional[Any]			    =			{
    "tab": ord("\t"),
    "newline": ord("\r"),
    "esc": 2_7,
    "up": 6_5 + ARROW_KEY_FLAG,
    "down": 6_6 + ARROW_KEY_FLAG,
    "right": 6_7 + ARROW_KEY_FLAG,
    "left": 6_8 + ARROW_KEY_FLAG,
    "mod_int": 9_1,
    "undefined": sys.maxsize,
    "interrupt": 3,
    "insert": 5_0,
    "delete": 5_1,
    "pg_up": 5_3,
    "pg_down": 5_4,
}

A     :   Union[str, Any]			    =			KEYMAP["up"]
A     :   int			    =			KEYMAP["left"]

if sys.platform == "win32":
	A     :   int			    =			[]
	A     :   str			    =			{
	    b"\xe0H": KEYMAP["up"] - ARROW_KEY_FLAG,
	    b"\x00H": KEYMAP["up"] - ARROW_KEY_FLAG,
	    b"\xe0P": KEYMAP["down"] - ARROW_KEY_FLAG,
	    b"\x00P": KEYMAP["down"] - ARROW_KEY_FLAG,
	    b"\xe0M": KEYMAP["right"] - ARROW_KEY_FLAG,
	    b"\x00M": KEYMAP["right"] - ARROW_KEY_FLAG,
	    b"\xe0K": KEYMAP["left"] - ARROW_KEY_FLAG,
	    b"\x00K": KEYMAP["left"] - ARROW_KEY_FLAG,
	}

for i in range(1_0):
	A     :   Dict			    =			ord(str(i))


def _lowerCamelCase	(		):

			'''simple docstring'''




			if os.name == "nt":
						import msvcrt

						__lowerCAmelCase				    =			"mbcs"
						# Flush the keyboard buffer
						while msvcrt.kbhit():
									msvcrt.getch()
						if len(_UpperCamelCase      ) == 0:
									# Read the keystroke
									__lowerCAmelCase				    =			msvcrt.getch()

									# If it is a prefix char, get second part
									if ch in (b"\x00", b"\xe0"):
												__lowerCAmelCase				    =			ch + msvcrt.getch()
												# Translate actual Win chars to bullet char types
												try:
															__lowerCAmelCase				    =			chr(WIN_KEYMAP[cha]      )
															WIN_CH_BUFFER.append(chr(KEYMAP["mod_int"]      )      )
															WIN_CH_BUFFER.append(_UpperCamelCase      )
															if ord(_UpperCamelCase      ) in (
															    KEYMAP["insert"] - 1 << 9,
															    KEYMAP["delete"] - 1 << 9,
															    KEYMAP["pg_up"] - 1 << 9,
															    KEYMAP["pg_down"] - 1 << 9,
															):
																		WIN_CH_BUFFER.append(chr(126      )      )
															__lowerCAmelCase				    =			chr(KEYMAP["esc"]      )
												except KeyError:
															__lowerCAmelCase				    =			cha[1]
									else:
												__lowerCAmelCase				    =			ch.decode(_UpperCamelCase      )
						else:
									__lowerCAmelCase				    =			WIN_CH_BUFFER.pop(0      )
			elif os.name == "posix":
						import termios
						import tty

						__lowerCAmelCase				    =			sys.stdin.fileno()
						__lowerCAmelCase				    =			termios.tcgetattr(_UpperCamelCase      )
						try:
									tty.setraw(_UpperCamelCase      )
									__lowerCAmelCase				    =			sys.stdin.read(1      )
						finally:
									termios.tcsetattr(_UpperCamelCase    , termios.TCSADRAIN    , _UpperCamelCase      )
			return ch


def _lowerCamelCase	(		):

			'''simple docstring'''




			__lowerCAmelCase				    =			get_raw_chars()
			if ord(_UpperCamelCase      ) in [KEYMAP["interrupt"], KEYMAP["newline"]]:
						return char

			elif ord(_UpperCamelCase      ) == KEYMAP["esc"]:
						__lowerCAmelCase				    =			get_raw_chars()
						if ord(_UpperCamelCase      ) == KEYMAP["mod_int"]:
									__lowerCAmelCase				    =			get_raw_chars()
									if ord(_UpperCamelCase      ) >= KEYMAP["arrow_begin"] - ARROW_KEY_FLAG and ord(_UpperCamelCase      ) <= KEYMAP["arrow_end"] - ARROW_KEY_FLAG:
												return chr(ord(_UpperCamelCase      ) + ARROW_KEY_FLAG      )
									else:
												return KEYMAP["undefined"]
						else:
									return get_raw_chars()

			else:
						if char in string.printable:
									return char
						else:
									return KEYMAP["undefined"]








"""simple docstring"""


def _lowerCamelCase	(		_UpperCamelCase = 6008_5147_5143      ):

			'''simple docstring'''




			try:
						__lowerCAmelCase				    =			int(_UpperCamelCase      )
			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."      )
			__lowerCAmelCase				    =			2
			__lowerCAmelCase				    =			0
			if n == 2:
						return 2
			while n > 2:
						while n % i != 0:
									i += 1
						__lowerCAmelCase				    =			i
						while n % i == 0:
									__lowerCAmelCase				    =			n // i
						i += 1
			return int(_UpperCamelCase      )


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




