N, D = map(int, input().split()) TK = [list(map(int, input().split())) for _ in range(N)] TK.reverse() t, k = TK.pop() tokyo = t kyoto = max(0, k - D) while TK: t, k = TK.pop() tokyo, kyoto = max(tokyo, kyoto - D) + t, max(kyoto, tokyo - D) + k print(max(tokyo, kyoto))