n, p, k = map(int, input().split()) dp = [0] * (k + 1) dp[0] = p for _ in range(n): t, b = map(int, input().split()) for i in range(k, 0, -1): if dp[i - 1] == 0: continue if t == 1: dp[i] = max(dp[i], dp[i - 1] + b) else: dp[i] = max(dp[i], dp[i - 1] * 2) if dp[i] > 10**18: print(-1) exit() print(dp[k])