#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ull unsigned long long
#define si(X) scanf("%d", &(X))
#define sll(X) scanf("%lld",&(X))
#define INFL 0x3f3f3f3f3f3f3f3fLL
/* -------Template ends here-------- */
const int M = 100001 + 1;
//increasing M by 1
vector<int> vec[M];
int dp[M][2];
void dfs(int u , int p){
// dp[u][1] = 1;
// no need for this
int a = 0, b = 1;
for(int i = 0 ; i<vec[u].size() ; i++){
int v = vec[u][i];
if(v == p)
continue;
dfs(v , u);
//added new things
a += dp[v][0];
b += dp[v][1];
// we first need to some them up and then choose the optimal to store it later
// dp[u][1] += (min(dp[v][0] , dp[v][1]));
}
dp[u][1] = min(a, b);
dp[u][0] = b;
}
int main(){
//freopen("input.txt", "rt", stdin);
//freopen("output.txt", "wt", stdout);
memset(dp , 0 , sizeof(dp));
int n;
si(n);
for(int i = 1 ; i<n ; i++){
int u , v;
si(u); si(v);
vec[u].push_back(v);
vec[v].push_back(u);
}
dfs(1 , 0);
int ans = min(dp[1][0] , dp[1][1]);
ans = max(ans , 1);
cout<<ans;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgdWxsIHVuc2lnbmVkIGxvbmcgbG9uZwojZGVmaW5lIHNpKFgpIHNjYW5mKCIlZCIsICYoWCkpCiNkZWZpbmUgc2xsKFgpIHNjYW5mKCIlbGxkIiwmKFgpKQojZGVmaW5lIElORkwgMHgzZjNmM2YzZjNmM2YzZjNmTEwKCi8qIC0tLS0tLS1UZW1wbGF0ZSBlbmRzIGhlcmUtLS0tLS0tLSAqLwoKY29uc3QgaW50IE0gPSAxMDAwMDEgKyAxOwovL2luY3JlYXNpbmcgTSBieSAxCnZlY3RvcjxpbnQ+IHZlY1tNXTsKaW50IGRwW01dWzJdOwoKdm9pZCBkZnMoaW50IHUgLCBpbnQgcCl7CgogICAgLy8gZHBbdV1bMV0gPSAxOwogICAgLy8gbm8gbmVlZCBmb3IgdGhpcwogICAgaW50IGEgPSAwLCBiID0gMTsKICAgIGZvcihpbnQgaSA9IDAgOyBpPHZlY1t1XS5zaXplKCkgOyBpKyspewogICAgICAgIGludCB2ID0gdmVjW3VdW2ldOwogICAgICAgIGlmKHYgPT0gcCkKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgZGZzKHYgLCB1KTsKICAgICAgICAvL2FkZGVkIG5ldyB0aGluZ3MKICAgICAgICBhICs9IGRwW3ZdWzBdOwogICAgICAgIGIgKz0gZHBbdl1bMV07CiAgICAgICAgLy8gd2UgZmlyc3QgbmVlZCB0byBzb21lIHRoZW0gdXAgYW5kIHRoZW4gY2hvb3NlIHRoZSBvcHRpbWFsIHRvIHN0b3JlIGl0IGxhdGVyCiAgICAgICAgLy8gZHBbdV1bMV0gKz0gKG1pbihkcFt2XVswXSAsIGRwW3ZdWzFdKSk7CiAgICB9CiAgICBkcFt1XVsxXSA9IG1pbihhLCBiKTsKICAgIGRwW3VdWzBdID0gYjsKfQppbnQgbWFpbigpewogICAgLy9mcmVvcGVuKCJpbnB1dC50eHQiLCAicnQiLCBzdGRpbik7CiAgICAvL2ZyZW9wZW4oIm91dHB1dC50eHQiLCAid3QiLCBzdGRvdXQpOwogICAgbWVtc2V0KGRwICwgMCAsIHNpemVvZihkcCkpOwogICAgaW50IG47CiAgICBzaShuKTsKCiAgICBmb3IoaW50IGkgPSAxIDsgaTxuIDsgaSsrKXsKICAgICAgICBpbnQgdSAsIHY7CiAgICAgICAgc2kodSk7ICBzaSh2KTsKICAgICAgICB2ZWNbdV0ucHVzaF9iYWNrKHYpOwogICAgICAgIHZlY1t2XS5wdXNoX2JhY2sodSk7CiAgICB9CiAgICBkZnMoMSAsIDApOwogICAgaW50IGFucyA9IG1pbihkcFsxXVswXSAsIGRwWzFdWzFdKTsKICAgIGFucyA9IG1heChhbnMgLCAxKTsKICAgIGNvdXQ8PGFuczsKCn0=