#pragma comment(linker, "/STACK:1024000000,1024000000") #include #include #include #include #include using namespace std; const int maxn=100005; vectorvt[maxn]; int bit[2*maxn]; int que[2*maxn]; int st[maxn]; int sd[maxn]; int f[maxn]; int n, rt, num; void dfs(int u, int fa) { que[++num]=u; for(int i=0; i0) { ans+=bit[x]; x-=lowbit(x); } return ans; } int main() { while(~scanf("%d%d",&n,&rt),n+rt) { for(int i=0; i<=n; i++) vt[i].clear(); for(int i=1; i=1; i--) { f[i]=(getsum(sd[i]-1)-getsum(st[i]))/2; cal(st[i],-1); cal(sd[i],-1); } printf("%d",f[1]); for(int i=2; i<=n; i++) printf(" %d",f[i]); puts(""); } return 0; }