#include using namespace std; using Int = long long; template inline void chmin(T1 &a,T2 b){if(a>b) a=b;} template inline void chmax(T1 &a,T2 b){if(a>t>>n; vector x(n); for(Int i=0;i>x[i]; Int s=1< dp(s,-1),sum(s,0); for(Int b=0;b>i)&1) sum[b]+=x[i]; function dfs= [&](Int b){ Int &res=dp[b]; if(~res) return res; if(sum[b]<=t) return res=1; res=n+1; for(Int i=b;i;i=(i-1)&b){ if(i==b) continue; chmin(res,dfs(i)+dfs(b^i)); } return res; }; cout<