import strutils, sequtils proc solve() = var N, D: int (N, D) = stdin.readLine.split.map(parseInt) var T, K = newSeq[int](N) for i in 0..<N: (T[i], K[i]) = stdin.readLine.split.map(parseInt) var dp: array[101, array[2, int]] dp[0][1] = -D for i in 0..<N: dp[i+1][0] = max(dp[i][0] + T[i], dp[i][1] + K[i] - D) dp[i+1][1] = max(dp[i][0] + T[i] - D, dp[i][1] + K[i]) echo max(dp[N]) when is_main_module: solve()