#pragma GCC optimize("Ofast")
#pragma GCC optimize("inline")
#include <bits/stdc++.h>
using namespace std;
const int maxn = 1000000;
int n, f[maxn + 10];
vector<int> g[maxn + 10];
void dfs(int x, int fa) {
    bool isb = 0;
    for (int i = 0; i < (int)g[x].size(); ++i) {
        int e = g[x][i];
        if (e != fa) {
            dfs(e, x); f[x] += f[e];
            if (!f[e]) {
                if (!isb) isb = 1;
                else ++f[x];
            }
        }
    }
}
int main() {
    scanf("%d", &n);
    for (int i = 1; i < n; ++i) {
        int l, r; scanf("%d%d", &l, &r); ++l; ++r;
        g[l].push_back(r); g[r].push_back(l);
    }
    for (int i = 1; i <= n; ++i)
        if ((int)g[i].size() > 2) {
            dfs(i, 0);
            printf("%d", f[i]); return 0;
        }
    printf("1");
}
