from typing import NamedTuple class L(NamedTuple): p: int s: int def fun_sub(lt): global l for i in range(1, x + 1): pre = l[i - 1] l[i - 1] = max(lt.s - abs(i - lt.p), pre) def fun_main(): s = [] for _ in range(n): a, b = map(int, input().split()) s += [L(a, b)] fun_sub(s[-1]) return " ".join(f"{x}" for x in l) n, x = map(int, input().split()) l = [0 for _ in range(x)] print(fun_main())