#include <bits/stdc++.h>
using namespace std;
int n,maxx;
vector <int> v[100005]; 
int dp[100005];
void dfs1(int pos,int fa){
	int nz=0;
	for (int i=0;i<v[pos].size();++i){
		if (v[pos][i]==fa)continue;
		dfs1(v[pos][i],pos);
		dp[pos]+=dp[v[pos][i]];
		nz+=(dp[v[pos][i]]!=0);
	}
	dp[pos]+=max(0,(int)(v[pos].size())-(fa!=(-1))-nz-1);
}
int main(){ 
	scanf("%d",&n);
	for (int i=1;i<n;++i){
		int a,b;
		scanf("%d%d",&a,&b);
		v[a].push_back(b);
		v[b].push_back(a);
	}
	for (int i=1;i<n;++i){
		if (v[i].size()>v[maxx].size())maxx=i;
	}
	dfs1(maxx,-1);
	cout<<max(1,dp[maxx]);
}