#include <iostream>
#include <set>
#include <vector>
#include <list>
#include <cstring>
using namespace std;
using m=list<int>;set<m>f(auto a){set<m>r;for(int q=2e3,s;--q;){m c;s=10;for(int&x:a)if(q&1<<&x-&a[0])c.push_back(x),s-=x;if(!s)r.insert(c);}return r;}
char c[] = "using m=list<int>;set<m>f(auto a){set<m>r;for(int q=2e3,s;--q;){m c;s=10;for(int&x:a)if(q&1<<&x-&a[0])c.push_back(x),s-=x;if(!s)r.insert(c);}return r;}";
int main()
{
for (auto &r : f((vector<int>){5,5,2,3}))
{
for (auto &x : r)
cout << x << ' ';
cout << '\n';
}
std::cout << strlen(c) << "\n";
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c2V0PgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8bGlzdD4KI2luY2x1ZGUgPGNzdHJpbmc+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdXNpbmcgbT1saXN0PGludD47c2V0PG0+ZihhdXRvIGEpe3NldDxtPnI7Zm9yKGludCBxPTJlMyxzOy0tcTspe20gYztzPTEwO2ZvcihpbnQmeDphKWlmKHEmMTw8JngtJmFbMF0pYy5wdXNoX2JhY2soeCkscy09eDtpZighcylyLmluc2VydChjKTt9cmV0dXJuIHI7fQoKY2hhciBjW10gPSAidXNpbmcgbT1saXN0PGludD47c2V0PG0+ZihhdXRvIGEpe3NldDxtPnI7Zm9yKGludCBxPTJlMyxzOy0tcTspe20gYztzPTEwO2ZvcihpbnQmeDphKWlmKHEmMTw8JngtJmFbMF0pYy5wdXNoX2JhY2soeCkscy09eDtpZighcylyLmluc2VydChjKTt9cmV0dXJuIHI7fSI7CgppbnQgbWFpbigpCnsKCWZvciAoYXV0byAmciA6IGYoKHZlY3RvcjxpbnQ+KXs1LDUsMiwzfSkpCgl7CgkJZm9yIChhdXRvICZ4IDogcikKCQkJY291dCA8PCB4IDw8ICcgJzsKCQkJCgkJY291dCA8PCAnXG4nOwoJfQoJCglzdGQ6OmNvdXQgPDwgc3RybGVuKGMpIDw8ICJcbiI7CgoJcmV0dXJuIDA7Cn0=