n,m=map(int,input().split()) a=list(map(int,input().split())) for i in range(n): if a[i]>=m: a[i]=-1 c=[0]*(m+1) g=[0]*(n+2) r=0 c[a[0]]+=1 p=0 p+=c[a[0]]!=0 and a[0]>=0 for l in range(n): r=max(r,l) while r+1=0 c[a[r]]+=1 if p==m: g[r-l+1]+=1 g[n-l+1]-=1 p-=c[a[l]]==1 and a[l]>=0 c[a[l]]-=1 if r==l and l+1=0 c[a[r]]+=1 for i in range(1,n+1): g[i]+=g[i-1] print(*g[1:n+1],sep="\n")