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