#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int n,d[1<<17],p[1<<17];
vector<int>G[1<<17];
void dfs(int u,int P)
{
	d[u]=1;
	for(int i=0;i<G[u].size();i++)
	{
		if(G[u][i]==P)continue;
		dfs(G[u][i],u);
		d[u]+=p[G[u][i]];
		p[u]+=max(p[G[u][i]],d[G[u][i]]);
	}
}
main()
{
	cin>>n;
	for(int i=1;i<n;i++)
	{
		int a,b;cin>>a>>b;
		G[a].push_back(b);
		G[b].push_back(a);
	}
	dfs(1,0);
	cout<<(d[1]<p[1]?p[1]:d[1])<<endl;
}