#include #include #include using namespace std; // Some careful optimization reduces the complexity to N*logN + 3^P. // where the output size is N < B*(2^P). int B, P, b[16], p[16], w[1<<16]; int main() { ios::sync_with_stdio(0); cin >> B >> P; for (int i = 0; i < B; ++i) cin >> b[i]; for (int i = 0; i < P; ++i) cin >> p[i]; w[0] = 0; for (int i = 0; i < P; ++i) for (int j = 0; j < 1< sols; for (int mask = 0; mask < 1< mask); } for (int sol : sols) cout << sol << endl; }