N,M = map(int,input().split()) A = list(map(int,input().split())) ans = [0]*N data = [0]*M cnt = 0 r = 0 for l in range(N): while r < N and cnt < M: if A[r] < M: if data[A[r]] == 0: cnt += 1 data[A[r]] += 1 r += 1 if cnt < M: break ans[max(0,r-l-1)] += 1 if N-l < N: ans[N-l] -= 1 if r == l: r += 1 else: if A[l] < M: data[A[l]] -= 1 if data[A[l]] == 0: cnt -= 1 for i in range(N-1): ans[i+1] += ans[i] print(*ans,sep='\n')