#include<bits/stdc++.h>
using namespace std;
int dp[100005][3]={0};
vector<int>v[100005];
bool vis[100005];
void ins(int n)
{
int i;
for(i=0;i<n+100;i++)
vis[i]=false;
}
void dfs(int i)
{
int j;
vis[i]=true;
for(j=0;j<v[i].size();j++)
{
if(vis[v[i][j]]==false)
{
dfs(v[i][j]);
dp[i][0]+=dp[v[i][j]][1];
dp[i][1]+=min(dp[v[i][j]][1],dp[v[i][j]][0]);
}
}
dp[i][1]++;
}
int main()
{
int n,i,x,y;
cin>>n;
for(i=0;i<n-1;i++)
{
cin>>x>>y;
v[x].push_back(y);
v[y].push_back(x);
}
ins(n);
dfs(1);
cout<<min(dp[1][0],dp[1][1])<<endl;
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IGRwWzEwMDAwNV1bM109ezB9Owp2ZWN0b3I8aW50PnZbMTAwMDA1XTsKYm9vbCB2aXNbMTAwMDA1XTsKdm9pZCBpbnMoaW50IG4pCnsKCWludCBpOwoJZm9yKGk9MDtpPG4rMTAwO2krKykKCXZpc1tpXT1mYWxzZTsKfQp2b2lkIGRmcyhpbnQgaSkKewoJaW50IGo7Cgl2aXNbaV09dHJ1ZTsKCWZvcihqPTA7ajx2W2ldLnNpemUoKTtqKyspCgl7CgkJaWYodmlzW3ZbaV1bal1dPT1mYWxzZSkKCQl7CgkJCWRmcyh2W2ldW2pdKTsKCQkJZHBbaV1bMF0rPWRwW3ZbaV1bal1dWzFdOwoJCQlkcFtpXVsxXSs9bWluKGRwW3ZbaV1bal1dWzFdLGRwW3ZbaV1bal1dWzBdKTsKCQl9Cgl9CglkcFtpXVsxXSsrOwp9CmludCBtYWluKCkKewoJaW50IG4saSx4LHk7CgljaW4+Pm47Cglmb3IoaT0wO2k8bi0xO2krKykKCXsKCQljaW4+Png+Pnk7CgkJdlt4XS5wdXNoX2JhY2soeSk7CgkJdlt5XS5wdXNoX2JhY2soeCk7Cgl9CglpbnMobik7CglkZnMoMSk7Cgljb3V0PDxtaW4oZHBbMV1bMF0sZHBbMV1bMV0pPDxlbmRsOwoJcmV0dXJuIDA7Cn0=