"""simple docstring"""






import os
import sys
from contextlib import contextmanager


# Windows only
if os.name == "nt":
						import ctypes
						import msvcrt  # noqa
						class 				snake_case       ( ctypes.Structure				):




											"""simple docstring"""

											snake_case__				    = [("size", ctypes.c_int), ("visible", ctypes.c_byte)]



def   a_						(					):
				if os.name == "nt":
								UpperCAmelCase__             =							CursorInfo()
								UpperCAmelCase__             =							ctypes.windll.kernelaa.GetStdHandle(-1_1       )
								ctypes.windll.kernelaa.GetConsoleCursorInfo(lowerCamelCase					,			ctypes.byref(lowerCamelCase       )       )
								UpperCAmelCase__             =							False
								ctypes.windll.kernelaa.SetConsoleCursorInfo(lowerCamelCase					,			ctypes.byref(lowerCamelCase       )       )
				elif os.name == "posix":
								sys.stdout.write('\033[?25l'       )
								sys.stdout.flush()



def   a_						(					):
				if os.name == "nt":
								UpperCAmelCase__             =							CursorInfo()
								UpperCAmelCase__             =							ctypes.windll.kernelaa.GetStdHandle(-1_1       )
								ctypes.windll.kernelaa.GetConsoleCursorInfo(lowerCamelCase					,			ctypes.byref(lowerCamelCase       )       )
								UpperCAmelCase__             =							True
								ctypes.windll.kernelaa.SetConsoleCursorInfo(lowerCamelCase					,			ctypes.byref(lowerCamelCase       )       )
				elif os.name == "posix":
								sys.stdout.write('\033[?25h'       )
								sys.stdout.flush()







@contextmanager
def   a_						(					):
				try:
								hide_cursor()
								yield
				finally:
								show_cursor()








"""simple docstring"""

import sys

lowercase__    :  Dict							    =	(
    '''73167176531330624919225119674426574742355349194934'''
    '''96983520312774506326239578318016984801869478851843'''
    '''85861560789112949495459501737958331952853208805511'''
    '''12540698747158523863050715693290963295227443043557'''
    '''66896648950445244523161731856403098711121722383113'''
    '''62229893423380308135336276614282806444486645238749'''
    '''30358907296290491560440772390713810515859307960866'''
    '''70172427121883998797908792274921901699720888093776'''
    '''65727333001053367881220235421809751254540594752243'''
    '''52584907711670556013604839586446706324415722155397'''
    '''53697817977846174064955149290862569321978468622482'''
    '''83972241375657056057490261407972968652414535100474'''
    '''82166370484403199890008895243450658541227588666881'''
    '''16427171479924442928230863465674813919123162824586'''
    '''17866458359124566529476545682848912883142607690042'''
    '''24219022671055626321111109370544217506941658960408'''
    '''07198403850962455444362981230987879927244284909188'''
    '''84580156166097919133875499200524063689912560717606'''
    '''05886116467109405077541002256983155200055935729725'''
    '''71636269561882670428252483600823257530420752963450'''
)




def __lowercase			(							_a    ):
    snake_case_ :     List[Any]				=	1
    for digit in s:
        product *= int(_a    )
    return product




def __lowercase			(							_a = N    ):
    snake_case_ :     Optional[int]				=	-sys.maxsize - 1
    snake_case_ :     str				=	n[:13]
    snake_case_ :     List[Any]				=	13
    while cur_index < len(_a    ) - 13:
        if int(n[cur_index]    ) >= int(substr[0]    ):
            snake_case_ :     int				=	substr[1:] + n[cur_index]
            cur_index += 1
        else:
            snake_case_ :     Optional[Any]				=	max(_a		,			str_eval(_a    )    )
            snake_case_ :     Any				=	n[cur_index : cur_index + 13]
            cur_index += 13
    return largest_product


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





