
"""simple docstring"""


from __future__ import annotations






def    _snake_case					(		snake_case__ :  tuple[int, int]						,   snake_case__ :  int  ):
	A ,   A     = position
	A     = [
	    (y + 1, x + 2),
	    (y - 1, x + 2),
	    (y + 1, x - 2),
	    (y - 1, x - 2),
	    (y + 2, x + 1),
	    (y + 2, x - 1),
	    (y - 2, x + 1),
	    (y - 2, x - 1),
	]
	A     = []

	for position in positions:
		A ,   A     = position
		if 0 <= y_test < n and 0 <= x_test < n:
			permissible_positions.append(snake_case__  )

	return permissible_positions






def    _snake_case					(		snake_case__ :  list[list[int]]  ):
	return not any(elem == 0 for row in board for elem in row  )






def    _snake_case					(		snake_case__ :  list[list[int]]						,   snake_case__ :  tuple[int, int]						,   snake_case__ :  int  ):

	if is_complete(snake_case__  ):
		return True

	for position in get_valid_pos(snake_case__						,   len(snake_case__  )  ):
		A ,   A     = position

		if board[y][x] == 0:
			A     = curr + 1
			if open_knight_tour_helper(snake_case__						,   snake_case__						,   curr + 1  ):
				return True
			A     = 0

	return False






def    _snake_case					(		snake_case__ :  int  ):
	A     = [[0 for i in range(snake_case__  )] for j in range(snake_case__  )]

	for i in range(snake_case__  ):
		for j in range(snake_case__  ):
			A     = 1
			if open_knight_tour_helper(snake_case__						,   (i, j)						,   1  ):
				return board
			A     = 0

	A     = F'Open Kight Tour cannot be performed on a board of size {n}'
	raise ValueError(snake_case__  )


if __name__ == "__main__":
		import doctest

		doctest.testmod()

'''simple docstring'''





def snake_case_     (					lowercase__		):

  if len(lowercase__		) <= 1:
    return [tuple(lowercase__		)]

  UpperCAmelCase__      :					Union[str, Any]				       =							[]

  def generate(lowercase__   ,       lowercase__		):
    UpperCAmelCase__      :					str				       =							[0] * n
    res.append(tuple(lowercase__		)		)

    UpperCAmelCase__      :					Any				       =							0
    while i < n:
      if c[i] < i:
        if i % 2 == 0:
          UpperCAmelCase__       ,			UpperCAmelCase__      :					str				       =							arr[i], arr[0]
        else:
          UpperCAmelCase__       ,			UpperCAmelCase__      :					Optional[Any]				       =							arr[i], arr[c[i]]
        res.append(tuple(lowercase__		)		)
        c[i] += 1
        UpperCAmelCase__      :					List[str]				       =							0
      else:
        UpperCAmelCase__      :					Dict				       =							0
        i += 1

  generate(len(lowercase__		)   ,       lowercase__		)
  return res


if __name__ == "__main__":
      SCREAMING_SNAKE_CASE     =       input("""Enter numbers separated by a comma:\n""").strip()
      SCREAMING_SNAKE_CASE     =       [int(item) for item in user_input.split(""",""")]
      print(heaps(arr))



