#include #include using namespace std; class range {private: struct I{int x;int operator*(){return x;}bool operator!=(I& lhs){return x m, dp; int sum_of(int mask) { int res = 0; for(int i : range(n)) { if(mask>>i & 1) { res += m[i]; } } return res; } int main(void) { scanf("%d", &n); m.resize(n); int allsum = 0; for(int i : range(n)) { scanf("%d", &m[i]); allsum += m[i]; } dp.resize(1<>i & 1) { continue; } int &tmp = dp[mask|(1<