#include #include #include using namespace std ; void recur(long long el, long long ar, int at, const vector&p, set &sides) { if (at == p.size()) { if (el == ar) sides.insert(el+ar) ; } else { recur(el+p[at], ar, at+1, p, sides) ; recur(el, ar+p[at], at+1, p, sides) ; recur(el, ar, at+1, p, sides) ; } } int main() { int B, P ; cin >> B >> P ; vector b(B), p(P) ; for (auto i=0; i> b[i] ; for (auto i=0; i> p[i] ; set sides, tot ; recur(0, 0, 0, p, sides) ; for (auto bar:b) for (auto plates:sides) tot.insert(bar+plates) ; for (auto w:tot) cout << w << endl ; }