(n,*c),a,*q=$<.map{_1.split.map &:to_i}
b=(0..n).map{_1&-_1}
d=b.map{[]}
u=i=k=0
z=q.map{d[_2]<<[_1-1,~k-=1]}
a.map{t=c[_1]||n+u+=1
(b[t]-=1;t+=t&-t)until t>n
d[c[_1]=i+=1].map{|x,y|z[y]=u
(z[y]-=b[x];x&=x-1)while x>0}}
p *z