#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include typedef long long ll; using namespace std; #define debug(x) cerr << #x << " = " << (x) << endl; #define mod 1000000007 //1e9+7(prime number) #define INF 1000000000 //1e9 #define LLINF 2000000000000000000LL //2e18 #define SIZE 100010 int dp[SIZE]; int main(){ int n,V,sum = 0; int v[SIZE], w[SIZE]; scanf("%d",&n); for(int i=0;i=0;j--){ dp[j+w[i]] = max(dp[j+w[i]], dp[j] + v[i]); } } int ans_min = INF, ans_max = -1; for(int i=0;i<=sum;i++){ dp[i+1] = max(dp[i+1], dp[i]); if(dp[i] == V){ ans_min = min(ans_min, i); ans_max = max(ans_max, i); } } if(dp[sum] != V) printf("%d\n%d\n",max(1,ans_min), ans_max); else printf("%d\ninf\n",ans_min); return 0; }