




'''simple docstring'''




snake_case__ 							=    {
    """0000""": """0""",
    """0001""": """1""",
    """0010""": """2""",
    """0011""": """3""",
    """0100""": """4""",
    """0101""": """5""",
    """0110""": """6""",
    """0111""": """7""",
    """1000""": """8""",
    """1001""": """9""",
    """1010""": """a""",
    """1011""": """b""",
    """1100""": """c""",
    """1101""": """d""",
    """1110""": """e""",
    """1111""": """f""",
}




def     snake_case__     (			lowerCamelCase__					: str      ) -> str:
					A_			:  Dict			=				str(lowerCamelCase__      ).strip()

					# Exceptions
					if not binary_str:
										raise ValueError('''Empty string was passed to the function'''      )
					A_			:  List[str]			=				binary_str[0] == '''-'''
					A_			:  int			=				binary_str[1:] if is_negative else binary_str
					if not all(char in '''01''' for char in binary_str      ):
										raise ValueError('''Non-binary value was passed to the function'''      )

					A_			:  Tuple			=				(
					    '''0''' * (4 * (divmod(len(lowerCamelCase__      )      ,		4      )[0] + 1) - len(lowerCamelCase__      )) + binary_str
					)

					A_			:  Any			=				[]
					for x in range(0      ,		len(lowerCamelCase__      )      ,		4      ):
										hexadecimal.append(BITS_TO_HEX[binary_str[x : x + 4]]      )
					A_			:  Optional[int]			=				'''0x''' + ''''''.join(lowerCamelCase__      )

					return "-" + hexadecimal_str if is_negative else hexadecimal_str


if __name__ == "__main__":
							from doctest import testmod

							testmod()









'''simple docstring'''




import os




def     snake_case__     (			) -> int:
					A_			:  List[str]			=				os.path.dirname(os.path.realpath(lowerCamelCase__      )      )
					A_			:  str			=				os.path.join(lowerCamelCase__      ,		'''triangle.txt'''      )

					with open(lowerCamelCase__      ) as in_file:
										A_			:  List[str]			=				[[int(lowerCamelCase__      ) for i in line.split()] for line in in_file]

					while len(lowerCamelCase__      ) != 1:
										A_			:  List[str]			=				triangle.pop()
										A_			:  Optional[Any]			=				triangle[-1]
										for j in range(len(lowerCamelCase__      ) - 1      ):
															curr_row[j] += max(last_row[j]      ,		last_row[j + 1]      )
					return triangle[0][0]


if __name__ == "__main__":
							print(solution())



