N,M = map(int, input().split()) A = list(map(int, input().split())) idx = 0 ans = [0 for _ in range(N+2)] cnt = [0 for _ in range(max(A)+2)] mex = 0 for i in range(N): #print("###") #print(mex) #print(i,idx) #print(cnt) #print(ans) while idx=M: break cnt[A[idx]] += 1 if mex==A[idx]: while cnt[mex]>0: mex += 1 idx += 1 if mex>=M: ans[idx-1-i+1] += 1 ans[N-i+1] -= 1 if idx==i: idx += 1 cnt[A[i]] -= 1 if cnt[A[i]]==0: if mex>=A[i]:mex = A[i] #print(ans) for i in range(1, N+1): ans[i] += ans[i-1] for i in range(1, N+1): print(ans[i])