from collections import deque


def main():
    n = int(input())

    graph = []
    for i in range(n):
        graph.append(set())

    edges_list = []
    for i in range(n - 1):
        edges_list.append(tuple(map(lambda x: int(x) - 1, input().split())))
        graph[edges_list[-1][0]].add(edges_list[-1][1])
        graph[edges_list[-1][1]].add(edges_list[-1][0])

    queue_of_vertex = deque()
    for i in range(n):
        if len(graph[i]) == 1:
            queue_of_vertex.append(i)

    count = 0
    edges = {}
    while len(queue_of_vertex) > 0:
        vertex = queue_of_vertex.popleft()
        for to in graph[vertex]:
            graph[to].remove(vertex)

            edges[vertex, to] = count
            edges[to, vertex] = count
            count += 1

            if len(graph[to]) == 1:
                queue_of_vertex.append(to)

        graph[vertex].clear()

    for element in edges_list:
        print(edges[element])


if __name__ == '__main__':
    main()
