n, m = map(int, input().split()) CD = [list(map(int, input().split())) for _ in range(n)] CD.sort(key=lambda x: -x[0]) dp = [0] * (m + 1) for c, d in CD: for i in range(c, m + 1): dp[(i - c) // 2] = max(dp[(i - c) // 2], dp[i] + d) print(dp[0])