rt
#include<bits/stdc++.h>
using namespace std;
vector<int> g[100010];
int n, m, ans;
int ad(int a){
int ans = 0;
while(a > 1){
ans++;
a /= 2;
}
return ans;
}
int dfs(int a, int f){
if(g[a].size() == 1) return 0;
int ada = ad(g[a].size() - 1) + 1;
for(int i = 0; i < g[a].size(); i++){
if(g[a][i] != f) ada += dfs(g[a][i], a) + 1;
}
return ada;
}
int main(){
scanf("%d", &n);
for(int i = 1; i < n; i++){
int a, b;
scanf("%d%d", &a, &b);
g[a].push_back(b);
g[b].push_back(a);
}
printf("%d", dfs(1, -1));
}