#include <bits/stdc++.h>
using namespace std;
 
int n;
vector<vector<int> > e;
 
vector<int> dp;
 
void dfs(int i,int p)
{
  dp[i]=0;
  bool F=0;
  for(int x=0;x<e[i].size();x++){
    int j=e[i][x];
    if(j==p)continue;
    dfs(j,i);
    dp[i]+=dp[j];
    if(dp[j]==0){
      if(!F)F=1;
      else dp[i]++;
    }
  }
}
 
int main()
{
  scanf("%d",&n);
  e=vector<vector<int> >(n);
  for(int t=0;t<n-1;t++){
    int a,b;
    scanf("%d%d",&a,&b);
    e[a].push_back(b);
    e[b].push_back(a);
  }
  dp=vector<int>(n);
  int r=-1;
  for(int i=0;i<n;i++){
    if(e[i].size()>2){
      r=i;
      break;
    }
  }
  if(r==-1){
    printf("1\n");
    return 0;
  }
  dfs(r,-1);
  printf("%d\n",dp[r]);
  return 0;
}
