





def 				lowerCAmelCase_ (							A_):
    UpperCamelCase__:	List[Any]					=     [0] * len(A_)
    UpperCamelCase__:	Any					=     []
    UpperCamelCase__:	str					=     []
    UpperCamelCase__:	Any					=     0

    for values in graph.values():
        for i in values:
            indegree[i] += 1

    for i in range(len(A_)):
        if indegree[i] == 0:
            queue.append(A_)

    while queue:
        UpperCamelCase__:	Dict					=     queue.pop(0)
        cnt += 1
        topo.append(A_)
        for x in graph[vertex]:
            indegree[x] -= 1
            if indegree[x] == 0:
                queue.append(A_)

    if cnt != len(A_):
        print("Cycle exists")
    else:
        print(A_)


# Adjacency List of Graph
A__:    Dict  	=	{0: [1, 2], 1: [3], 2: [3], 3: [4, 5], 4: [], 5: []}




topological_sort(graph)








import math



def 				lowerCAmelCase_ (							A_    ,A_):
    UpperCamelCase__:	Dict					=     len(A_)
    UpperCamelCase__:	Optional[Any]					=     int(math.floor(math.sqrt(A_)))
    UpperCamelCase__:	Union[str, Any]					=     0
    while arr[min(A_    ,A_) - 1] < x:
        UpperCamelCase__:	Any					=     step
        step += int(math.floor(math.sqrt(A_)))
        if prev >= n:
            return -1

    while arr[prev] < x:
        UpperCamelCase__:	Dict					=     prev + 1
        if prev == min(A_    ,A_):
            return -1
    if arr[prev] == x:
        return prev
    return -1


if __name__ == "__main__":
   A__:    Tuple  	=	input('''Enter numbers separated by a comma:\n''').strip()
   A__:    List[Any]  	=	[int(item) for item in user_input.split(''',''')]
   A__:    int  	=	int(input('''Enter the number to be searched:\n'''))
   A__:    Any  	=	jump_search(arr, x)
   if res == -1:
      print('''Number not found!''')
   else:
      print(f"Number {x} is at index {res}")

