





'''simple docstring'''

def 		UpperCamelCase							(				_lowerCamelCase   :   Any			):
    A__							=     [False] * len(snake_case__			)
    A__							=     [-1] * len(snake_case__			)

    def dfs(_lowerCamelCase   :   List[str]		,			_lowerCamelCase   :   Dict			):
        A__							=     True
        A__							=     c
        for u in graph[v]:
            if not visited[u]:
                dfs(snake_case__		,			1 - c			)

    for i in range(len(snake_case__			)			):
        if not visited[i]:
            dfs(snake_case__		,			0			)

    for i in range(len(snake_case__			)			):
        for j in graph[i]:
            if color[i] == color[j]:
                return False

    return True


# Adjacency list of graph
__lowerCAmelCase				:      str						      ={0: [1, 3], 1: [0, 2], 2: [1, 3], 3: [0, 2], 4: []}



print(check_bipartite_dfs(graph))





'''simple docstring'''




def 						lowerCAmelCase_							(  snake_case__		):




    '''simple docstring'''



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

    A			:  int   =		[]

    def generate(snake_case__						,							snake_case__		):
        if k == 1:
            res.append(tuple(arr[:]		)		)
            return

        generate(k - 1						,							snake_case__		)

        for i in range(k - 1		):
            if k % 2 == 0:  # k is even
                A,    A			:  Any   =		arr[k - 1], arr[i]
            else:  # k is odd
                A,    A			:  List[str]   =		arr[k - 1], arr[0]
            generate(k - 1						,							snake_case__		)

    generate(len(snake_case__		)						,							snake_case__		)
    return res


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




