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)