#include #include #include using namespace std; #define N_MAX 31 int N, S; int P[N_MAX]; vector> res; int main() { scanf("%d%d", &N, &S); for (int i = 0; i < N; i++) scanf("%d", P + i); for (int i = 0; i < 1 << N; i++) { vector id; for (int j = 0; 1 << j <= i; j++) { if (i & 1 << j) id.push_back(j); } long long sum = 0; for (int& j : id) sum += P[j]; if (sum == S) res.push_back(id); } sort(res.begin(), res.end()); for (auto& v : res) { for (int i = 0; i < v.size(); i++) { printf("%d%c", v[i] + 1, i + 1 < v.size() ? ' ' : '\n'); } } return 0; }