#include <bits/stdc++.h>
#include "molecules.h"
using namespace std;
using ll = long long;
vector<int> find_subset(int l, int u, vector<int> w) {
vector<pair<int, int>> v(w.size());
for(int i = 0; i < w.size(); ++i) {
v[i] = {w[i], i};
}
ranges::sort(v);
vector<int> ans;
int sum = 0, n = v.size();
for(int i = 0, j = 0; i <= n; ++i) {
while(j < n && sum < l)
sum += v[j++].first;
if(l <= sum && sum <= u) {
for(int z = i; z < j; ++z) {
ans.push_back(v[z].second);
return ans;
}
}
sum -= v[i].first;
}
return ans;
}