def min_path(n, B):
    node_list = [0] * (n + 1)  # 保存节点的距离
    for path in B:
        # 遍历路径,使后一节点距离值等于前一节点距离值加一
        x, y = path
        node_list[y] = node_list[x] + 1
    depth = 0
    # 找到最大深度
    for i in range(1, n + 1):
        if node_list[i] > depth:
            depth = node_list[i]
    # 计算最短路径,即最深的路径走一遍,其他路径走2遍
    return 2 * n - 2 - depth


if __name__ == '__main__':
    n = int(input().strip())
    B = []
    # 得到路径列表
    for i in range(n - 1):
        A = [int(i) for i in input().strip().split()]
        if A[0] > A[1]:
            A[0], A[1] = A[1], A[0]  # 使得第一个元素小于第二个元素
        B.append(A)
    B.sort(key=lambda x: x[0])  # 按第一个元素排序

    result = min_path(n, B)
    print(result)