#include #include #include #include #include #include #include #include #include #include #include #include #define vll vector #define vvvl vector #define vvl vector> #define VV(a, b, c, d) vector>(a, vector(b, c)) #define VVV(a, b, c, d) vector(a, vvl(b, vll (c, d))); #define re(c, b) for(ll c=0;c> n; vvl dp = VV(n+1, 100001, -INF, ll); dp[0][0] = 0; re(i, n){ ll a, b;std::cin >> a >> b; for(int j=0;j<=100000;j++){ dp[i+1][j] = max({dp[i+1][j], dp[i][j], (j==0?0:dp[i+1][j-1])}); if(j+b<=100000) dp[i+1][j+b] = max(dp[i+1][j+b], dp[i][j] + a); } } ll V;std::cin >> V; ll l = 1000000000000000000, r = -1000000000000000000; for(ll i=0;i<=100000;i++) if(dp[n][i]==V) l = min(l, i), r = max(r, i); std::cout << max(l, 1LL) << '\n'; std::cout << (r==100000?"inf":to_string(r)) << '\n'; }