import sys input = sys.stdin.buffer.readline sys.setrecursionlimit(10 ** 7) inf = 10 ** 19 N, D = map(int, input().split()) PQ = tuple(tuple(map(int, input().split())) for _ in range(N)) ans = -inf for i, (p, q) in enumerate(PQ): for j, (pp, qq) in enumerate(PQ): if i == j: continue if (q - p + qq - pp) >= 0: ans = max(ans, min(-p, -p + q - pp)) else: if D % 2 == 0: M = D // 2 cnt = M * (q - p + qq - pp) ans = max(ans, min(cnt - p, cnt - p + q - pp)) else: M = D // 2 cnt = (M + 1) * (q - p) + M * (qq - pp) ans = max(ans, min(cnt - pp, cnt - pp + qq - p)) print(ans)