#include using namespace std; multiset> s[100001]; vectorg[100001]; bool ch[100001]; void dfs(int now=0,int par=-1){ for(int x:g[now]){ if(x==par)continue; dfs(x,now); if(s[now].size()1; if(ch[now]){ auto itr=s[now].begin(); int res=*itr+1; itr=s[now].erase(itr); res+=*itr; s[now].erase(itr); s[now].emplace(res); }else s[now].emplace(1); } int main(){ int N; cin>>N; for(int i=1;i>a>>b; --a;--b; g[a].emplace_back(b); g[b].emplace_back(a); } dfs(); cout<<*s[0].begin()+!ch[0]<