import sys input = sys.stdin.buffer.readline sys.setrecursionlimit(10 ** 7) U = 10 ** 5 + 10 N = int(input()) dp = [0] * (U + 1) Wsum = 0 for _ in range(N): v, w = map(int, input().split()) Wsum += w for i in reversed(range(w, U + 1)): dp[i] = max(dp[i], dp[i - w] + v) V = int(input()) wmin = U wmax = 0 for i in range(1, U + 1): if dp[i] == V: wmin = min(wmin, i) wmax = max(wmax, i) if wmax >= U: wmax = "inf" print(wmin) print(wmax)