





def lowerCAmelCase__(__snake_case							)    ->				bool:







	'''simple docstring'''







	if not isinstance(__snake_case	,__snake_case							):
		raise ValueError('''Input series is not valid, valid series - [2, 4, 8]'''							)
	if len(__snake_case							) == 0:
		raise ValueError('''Input list must be a non empty list'''							)
	if len(__snake_case							) == 1:
		return True
	try:
		lowerCamelCase__        =		series[1] / series[0]
		for index in range(len(__snake_case							) - 1							):
			if series[index + 1] / series[index] != common_ratio:
				return False
	except ZeroDivisionError:
		return False
	return True





def lowerCAmelCase__(__snake_case							)    ->				float:







	'''simple docstring'''







	if not isinstance(__snake_case	,__snake_case							):
		raise ValueError('''Input series is not valid, valid series - [2, 4, 8]'''							)
	if len(__snake_case							) == 0:
		raise ValueError('''Input list must be a non empty list'''							)
	lowerCamelCase__        =		1
	for value in series:
		answer *= value
	return pow(__snake_case	,1 / len(__snake_case							)							)


if __name__ == "__main__":
			import doctest

			doctest.testmod()










import os





def lowerCAmelCase__()    ->				int:







	'''simple docstring'''







	lowerCamelCase__        =		os.path.dirname(os.path.realpath(__snake_case							)							)
	lowerCamelCase__        =		os.path.join(__snake_case	,'''triangle.txt'''							)

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

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


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



