#include #include #include #include using namespace std; using ll = long long; using P = pair; map>> Enum(vector

& a){ int n=a.size(); int mx=(1<>> ans; for(int i=0; i buy; ll sum=0; for(int j=0; j>j&1){ auto [p, id]=a[j]; sum+=p; buy.push_back(id); } ans[sum].push_back(buy); } return ans; } int main(void){ int n; ll s; cin >> n >> s; vector

pre, aft; for(int i=0; i> p; if(i> ans; for(auto& [x, p]:a1){ if(a2.count(s-x)==0) continue; for(auto p1:p)for(auto& p2:a2[s-x]){ //cout << p1.size() << ' ' << p2.size() << endl; vector now=p1; for(auto x:p2) now.push_back(x); ans.push_back(now); } } sort(begin(ans), end(ans)); for(auto p:ans){ for(auto q:p) cout << q << ' '; cout << endl; } return 0; }