#include using namespace std; //#define int long long typedef long long ll; typedef pairpint; typedef vectorvint; typedef vectorvpint; #define pb push_back #define mp make_pair #define fi first #define se second #define ln <void chmin(T &t,U f){if(t>f)t=f;} templatevoid chmax(T &t,U f){if(tque; fill_n(dist,N,1<<25); rep(i,N){ if(i==0||G[i].size()==1){ dist[i]=0; que.push(i); } } while(que.size()){ int v=que.front();que.pop(); for(int to:G[v]){ if(dist[to]<=dist[v]+1)continue; dist[to]=dist[v]+1; que.push(to); } } rep(i,N)printf("%d\n",dist[i]); return 0; }