def func():

    def dfs( node ):

        print("%d "% (node+1), end = "")

        explored[node] = 1

        for i in range(0, nodes):

            if matrix[node][i] == 1 and explored[i] == 0:

                dfs( i )

    
    nodes = int(input())
    
    matrix = []
    
    for i in range(nodes):
    	
    	line = [int(i) for i in input().split(" ")]
    	
    	matrix.append(line)
    
    explored = [0] * (nodes+1)

    startNode = 1
    
    print("Depth First Search")

    dfs( startNode )

func()