



from itertools import permutations





def 		__snake_case						(    _UpperCAmelCase = 5				):
					"""simple docstring"""






					if gon_side < 3 or gon_side > 5:
										raise ValueError('gon_side must be in the range [3, 5]'				)

					# Since it's 16, we know 10 is on the outer ring
					# Put the big numbers at the end so that they are never the first number
					lowercase						   =       list(range(gon_side + 1       ,			0       ,			-1				)				)
					lowercase						   =       list(range(gon_side + 2       ,			gon_side * 2 + 1				)				)

					for perm in permutations(small_numbers + big_numbers				):
										lowercase						   =       generate_gon_ring(lowerCamelCase__       ,			list(lowerCamelCase__				)				)
										if is_magic_gon(lowerCamelCase__				):
															return int(''.join(str(lowerCamelCase__				) for n in numbers				)				)

					lowercase						   =       f"""Magic {gon_side}-gon ring is impossible"""
					raise ValueError(lowerCamelCase__				)





def 		__snake_case						(    _UpperCAmelCase       ,			_UpperCAmelCase				):
					"""simple docstring"""






					lowercase						   =       [0] * (gon_side * 3)
					lowercase						   =       perm[0:3]
					perm.append(perm[1]				)

					lowercase						   =       1 if gon_side < 5 else 2

					for i in range(1       ,			len(lowerCamelCase__				) // 3 + magic_number				):
										lowercase						   =       perm[2 * i + 1]
										lowercase						   =       result[3 * i - 1]
										lowercase						   =       perm[2 * i + 2]

					return result





def 		__snake_case						(    _UpperCAmelCase				):
					"""simple docstring"""






					if len(lowerCamelCase__				) % 3 != 0:
										raise ValueError('a gon ring should have a length that is a multiple of 3'				)

					if min(numbers[::3]				) != numbers[0]:
										return False

					lowercase						   =       sum(numbers[:3]				)

					return all(sum(numbers[i : i + 3]				) == total for i in range(3       ,			len(lowerCamelCase__				)       ,			3				)				)


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












'''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())



