N,X = map(int,input().split()) light = [] for i in range(N): a,b = map(int,input().split()) light.append([a,b]) #rint(light) road = [0]*(X+1) for i in range(N): a = light[i][0] road[a] = max(road[a],light[i][1]) for j in range(1,light[i][1]): if a+j > X: break road[a+j] = max(road[a+j],light[i][1]-j) for j in range(1,light[i][1]): if a-j < 1: break road[a-j] = max(road[a-j],light[i][1]-j) print(*road[1:])