#include using namespace std; #define int long long int n, V; int v[114], w[114]; int sumv; int dp[114514]; int maxw; signed main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n; for (int i = 1; i <= n; ++i) { cin >> v[i] >> w[i]; maxw += w[i]; sumv += v[i]; } cin >> V; for (int i = 1; i <= n; ++i) { for (int j = maxw; j >= w[i]; --j) { if (j >= w[i]) dp[j] = max(dp[j], dp[j - w[i]] + v[i]); } } for (int j = 1; j <= maxw; ++j) { if (dp[j] == V) { cout << j << '\n'; break; } } if (V == sumv) { cout << "inf"; } else for (int j = maxw; j >= 0; --j) { if (dp[j] == V) { cout << j << '\n'; break; } } return 0; }