#include using namespace std; vector> tree; vector visited; vector out; int fir = 0; void dps(int now, int prev, int flag, int ans) { if(visited[now]) return; visited[now] = true; if(flag) out[now] = ans; for(int i=0;i now) dps(tree[now][i], now, flag, ans + 1); else { fir++; dps(tree[now][i], now, flag, ans - 1); } } } } int main() { int n; cin >> n; tree.resize(n); visited.resize(n); out.resize(n); for(int i=0;i> u >> v; u--;v--; tree[u].emplace_back(v); tree[v].emplace_back(u); } dps(0, INT_MAX, 0, 0); for(int i=0;i