#include using namespace std; int main() { int n; cin >> n; vector> adj(n); for (int i = 0; i < n - 1; i++) { int a, b; cin >> a >> b; a--, b--; adj[a].push_back(b); adj[b].push_back(a); } vector ds(n); function dfs = [&](int v, int p, int d) { ds[v] = d; for (int s : adj[v]) { if (s != p) { dfs(s, v, d + 1); } } }; dfs(0, -1, 0); int k = max_element(ds.begin(), ds.end()) - ds.begin(); dfs(k, -1, 0); int diameter = *max_element(ds.begin(), ds.end()); cout << n - 1 - diameter << endl; }