#include <bits/stdc++.h>
using namespace std;
const int MAXN = 100005;
vector<int> adj[MAXN];
long long dp0[MAXN], dp1[MAXN];
void dfs(int u, int p) {
dp0[u] = 0;
dp1[u] = 1;
for (int v : adj[u]) {
if (v == p) continue;
dfs(v, u);
dp0[u] += dp1[v];
dp1[u] += min(dp0[v], dp1[v]);
}
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
if(!(cin >> n)) return 0;
for (int i = 1; i <= n; ++i) adj[i].clear();
for (int i = 0; i < n - 1; ++i) {
int u, v; cin >> u >> v;
adj[u].push_back(v);
adj[v].push_back(u);
}
dfs(1, -1);
cout << min(dp0[1], dp1[1]) << "\n";
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpjb25zdCBpbnQgTUFYTiA9IDEwMDAwNTsKdmVjdG9yPGludD4gYWRqW01BWE5dOwpsb25nIGxvbmcgZHAwW01BWE5dLCBkcDFbTUFYTl07Cgp2b2lkIGRmcyhpbnQgdSwgaW50IHApIHsKICAgIGRwMFt1XSA9IDA7CiAgICBkcDFbdV0gPSAxOwogICAgZm9yIChpbnQgdiA6IGFkalt1XSkgewogICAgICAgIGlmICh2ID09IHApIGNvbnRpbnVlOwogICAgICAgIGRmcyh2LCB1KTsKICAgICAgICBkcDBbdV0gKz0gZHAxW3ZdOwogICAgICAgIGRwMVt1XSArPSBtaW4oZHAwW3ZdLCBkcDFbdl0pOwogICAgfQp9CgppbnQgbWFpbigpIHsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUobnVsbHB0cik7CgogICAgaW50IG47IAogICAgaWYoIShjaW4gPj4gbikpIHJldHVybiAwOwogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgKytpKSBhZGpbaV0uY2xlYXIoKTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbiAtIDE7ICsraSkgewogICAgICAgIGludCB1LCB2OyBjaW4gPj4gdSA+PiB2OwogICAgICAgIGFkalt1XS5wdXNoX2JhY2sodik7CiAgICAgICAgYWRqW3ZdLnB1c2hfYmFjayh1KTsKICAgIH0KICAgIGRmcygxLCAtMSk7CiAgICBjb3V0IDw8IG1pbihkcDBbMV0sIGRwMVsxXSkgPDwgIlxuIjsKICAgIHJldHVybiAwOwp9Cg==