int n; int ap[101010],at[101010],ar[101010],ai[101010],alive[101010]; { rd(n,(ap,at,ar)(n)); ai[0..n]=(0..); std::stable_sort(ai,ai+n,[](int a,int b){return ar[a]>ar[b];}); std::stable_sort(ai,ai+n,[](int a,int b){return at[a]>at[b];}); std::stable_sort(ai,ai+n,[](int a,int b){return ap[a]>ap[b];}); segtree t; t.malloc(1d4+1,1); for(int j=0;j-ar[i]){ alive[i]=1; t.change(at[i],at[i]+1,-ar[i]-1); } } rep(i,n)if(alive[i])wt(i+1); }