'''simple docstring'''





def  _lowerCamelCase					(   a_				: Optional[int]						,			a_				: Optional[Any]):
			return abs(__snake_case) if a == 0 else greatest_common_divisor(b % a						,			__snake_case)





def  _lowerCamelCase					(   a_				: int						,			a_				: Dict):
			while y:  # --> when y=0 then loop will terminate and return x as final GCD.
						lowerCamelCase  ,    lowerCamelCase						:Optional[int]						  =     y, x % y
			return abs(__snake_case)





def  _lowerCamelCase					(   ):
			try:
						lowerCamelCase						:int						  =     input('''Enter two integers separated by comma (,): ''').split(''',''')
						lowerCamelCase						:List[str]						  =     int(nums[0])
						lowerCamelCase						:List[Any]						  =     int(nums[1])
						print(
						    F"greatest_common_divisor({num_a}, {num_a}) = "
						    F"{greatest_common_divisor(__snake_case						,			__snake_case)}")
						print(F"By iterative gcd({num_a}, {num_a}) = {gcd_by_iterative(__snake_case						,			__snake_case)}")
			except (IndexError, UnboundLocalError, ValueError):
						print('''Wrong input''')


if __name__ == "__main__":
			main()




def  _lowerCamelCase					(   a_				: list):

			if not grid or not grid[0]:
						raise TypeError('''The grid does not contain the appropriate information''')

			for cell_n in range(1						,			len(grid[0])):
						grid[0][cell_n] += grid[0][cell_n - 1]
			lowerCamelCase						:Any						  =     grid[0]

			for row_n in range(1						,			len(a_)):
						lowerCamelCase						:List[str]						  =     grid[row_n]
						lowerCamelCase						:Union[str, Any]						  =     fill_row(a_						,			a_)
						lowerCamelCase						:List[Any]						  =     grid[row_n]

			return grid[-1][-1]





def  _lowerCamelCase					(   a_				: list						,			a_				: list):
			current_row[0] += row_above[0]
			for cell_n in range(1						,			len(a_)):
						current_row[cell_n] += min(current_row[cell_n - 1]						,			row_above[cell_n])

			return current_row


if __name__ == "__main__":
			import doctest

			doctest.testmod()



