#include #include using namespace std; using vi=vector; void max_u(int&m, int v) { if(m=0;j--) { if(dp[j]<0) continue; max_u(dp[j+bw], dp[j]+bv); } } scanf("%d", &v); for(int i=1;i<=100000;i++) { max_u(dp[i], dp[i-1]); } int ans_min=-1, ans_max=100000+1; for(int i=1;i<=100000;i++) { if(dp[i]==v) { if(ans_min<0) ans_min=i; ans_max=i; } } if(ans_min<0) ans_min=1; printf("%d\n", ans_min); if(bw_sum<100000 && dp[bw_sum]==v) printf("inf\n"); else printf("%d\n", ans_max); } return 0; }