N = int(input()) lsvw = [] mm = 0 for i in range(N): v,w = map(int,input().split()) lsvw.append((v,w)) mm += v V = int(input()) dp = [0]*(100001) for i in range(N): v,w =lsvw[i] dp2 = [0]*(100001) for j in range(100001): if j - w >= 0: dp2[j] = max(dp[j-w]+v,dp[j]) else: dp2[j] = dp[j] dp = dp2 ansmin = float('INF') ansmax = 0 for i in range(100001): if dp[i] == V: ansmin = min(i,ansmin) ansmax = max(i,ansmax) if V == mm: ansmax = 'inf' if ansmin == 0: ansmin = 1 print(ansmin) print(ansmax)