n, P, K = map(int, input().split()) data = [list(map(int, input().split())) for _ in range(n)] pair = [] # 組み合わせ生成(0-indexに修正) def dfs(start, path): if len(path) == K: pair.append(path) return for i in range(start, n): dfs(i+1, path + [i]) dfs(0, []) # アイテム処理(return追加) def item(power, t, b): if not (0 < power < 10**18): return -1 if t == 1: power += b elif t == 2: power *= 2 if power > 10**18: return -1 return power # 計算 for comb in pair: power = P for idx in comb: power = item(power, data[idx][0], data[idx][1]) if power == -1: break print(power)