from collections import defaultdict import itertools n,m=map(int,input().split()) A=list(map(int,input().split())) l,r=0,0 ans=[0]*(n+1) S=set() D=defaultdict(int) while r<=n: if len(S)==m: ans[r-l-1]+=1 ans[n-l]-=1 if A[l]<m: D[A[l]]-=1 if D[A[l]]==0: S.remove(A[l]) l+=1 elif len(S)<m: if r==n: break if A[r]<m: S.add(A[r]) D[A[r]]+=1 r+=1 ans=list(itertools.accumulate(ans)) for i in ans[:-1]: print(i)