from collections import deque n,x=map(int, input().split()) AB=[list(map(int, input().split())) for _ in range(n)] AB.sort() D=deque(AB) L=[0]*x tmp=0 for i in range(x): tmp=max(0,tmp-1) while D: a,b=D.popleft() if a==i+1: tmp=max(tmp,b) else: D.appendleft([a,b]) break L[i]=tmp D=deque(AB[::-1]) for i in range(x-1,-1,-1): tmp=max(0,tmp-1) while D: a,b=D.popleft() if a==i+1: tmp=max(tmp,b) else: D.appendleft([a,b]) break L[i]=max(L[i],tmp) print(*L)