



def __lowerCAmelCase (     SCREAMING_SNAKE_CASE_						,  SCREAMING_SNAKE_CASE_  ):
			while b:
						lowercase__  ,       lowercase__					  =				b, a % b
			return a



def __lowerCAmelCase (     SCREAMING_SNAKE_CASE_						,  SCREAMING_SNAKE_CASE_  ):
			return a if b == 0 else euclidean_gcd_recursive(SCREAMING_SNAKE_CASE_						,  a % b  )



def __lowerCAmelCase (     ):
			print(f'''euclidean_gcd(3, 5) = {euclidean_gcd(3						,  5  )}'''  )
			print(f'''euclidean_gcd(5, 3) = {euclidean_gcd(5						,  3  )}'''  )
			print(f'''euclidean_gcd(1, 3) = {euclidean_gcd(1						,  3  )}'''  )
			print(f'''euclidean_gcd(3, 6) = {euclidean_gcd(3						,  6  )}'''  )
			print(f'''euclidean_gcd(6, 3) = {euclidean_gcd(6						,  3  )}'''  )

			print(f'''euclidean_gcd_recursive(3, 5) = {euclidean_gcd_recursive(3						,  5  )}'''  )
			print(f'''euclidean_gcd_recursive(5, 3) = {euclidean_gcd_recursive(5						,  3  )}'''  )
			print(f'''euclidean_gcd_recursive(1, 3) = {euclidean_gcd_recursive(1						,  3  )}'''  )
			print(f'''euclidean_gcd_recursive(3, 6) = {euclidean_gcd_recursive(3						,  6  )}'''  )
			print(f'''euclidean_gcd_recursive(6, 3) = {euclidean_gcd_recursive(6						,  3  )}'''  )


if __name__ == "__main__":
							main()









def __lowerCAmelCase (     SCREAMING_SNAKE_CASE_						,  SCREAMING_SNAKE_CASE_						,  SCREAMING_SNAKE_CASE_						,  SCREAMING_SNAKE_CASE_  ):
			lowercase__  ,       lowercase__					  =				len(SCREAMING_SNAKE_CASE_  ), len(grid[0]  )
			if (
			    min(SCREAMING_SNAKE_CASE_						,  SCREAMING_SNAKE_CASE_  ) < 0
			    or row == row_length
			    or col == col_length
			    or (row, col) in visit
			    or grid[row][col] == 1
			):
						return 0
			if row == row_length - 1 and col == col_length - 1:
						return 1

			visit.add((row, col)  )

			lowercase__					  =				0
			count += depth_first_search(SCREAMING_SNAKE_CASE_						,  row + 1						,  SCREAMING_SNAKE_CASE_						,  SCREAMING_SNAKE_CASE_  )
			count += depth_first_search(SCREAMING_SNAKE_CASE_						,  row - 1						,  SCREAMING_SNAKE_CASE_						,  SCREAMING_SNAKE_CASE_  )
			count += depth_first_search(SCREAMING_SNAKE_CASE_						,  SCREAMING_SNAKE_CASE_						,  col + 1						,  SCREAMING_SNAKE_CASE_  )
			count += depth_first_search(SCREAMING_SNAKE_CASE_						,  SCREAMING_SNAKE_CASE_						,  col - 1						,  SCREAMING_SNAKE_CASE_  )

			visit.remove((row, col)  )
			return count


if __name__ == "__main__":
							import doctest

							doctest.testmod()




