#include #include #include #include #include #include using namespace std; typedef long long LL; typedef vector VI; #define REP(i,n) for(int i=0; i inline T &amin(T &a, T b) { if (a>b) a=b; return a; } template inline T &amax(T &a, T b) { if (a v) { int N = v.size(); memset(dp, 0x3f, sizeof dp); dp[1][0] = 0; REP (S, 1< v(1, 0); for (int i=N-1; i>0; i--) { v.push_back(i); int tmp = cost(v); if (tmp > K) v.pop_back(); if (v.size() == 16u) break; } LL ans = 0; REP (i, v.size()) ans += (1LL<