#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef pair Pr; int N,V; int v[110], w[110]; int dp[110][100010]; int main() { cin >> N; for (int i = 0; i < N; i++) { cin >> v[i] >> w[i]; } cin >> V; for (int i = 0; i < N; i++) { for (int j = 1; j <= 100000; j++) { if (w[i] <= j) { dp[i+1][j] = max(dp[i][j],dp[i][j-w[i]]+v[i]); } else { dp[i+1][j] = dp[i][j]; } } } int mi=1000000,mx = 0; for (int i = 1; i <= 100000; i++) { if (dp[N][i] == V) { if (i < mi)mi = i; if (i > mx)mx = i; } } cout << mi << endl; if (mx != 100000) cout << mx << endl; else cout << "inf" << endl; return 0; }