#include "molecules.h"
#include <bits/stdc++.h>
using namespace std;
std::vector<int> find_subset(int l, int u, std::vector<int> v) {
vector<int> ans; long long n = (int)v.size();
for (int i = 0; i < (int)v.size(); i++) {
if (v[i] >= l && v[i] <= u) {
ans.push_back(i);
return ans;
}
}
vector<pair<long long, int>> w;
for (int i = 0; i < n; i++) w.push_back({v[i], i});
set<pair<long long, long long>> pfxs; pfxs.insert({0, 0});
long long curp = 0;
sort(w.begin(), w.end());
for (long long i = 0; i < n; i++) {
pfxs.insert({curp, i});
curp += w[i].first;
// lower bound pj - u
auto it = pfxs.lower_bound({curp - u, -1e18});
if (it != pfxs.end()) {
pair<long long, long long> x = *it;
if (x.first <= curp - l) {
long long j = x.second;
vector<int> tmpp;
for (int z = j; z <= i; z++) {
tmpp.push_back(w[z].second);
}
return tmpp;
}
}
// vector<long long> tmp; long long cs = 0;
// for (long long j = i; j < n; j++) {
// cs += w[j].first;
// tmp.push_back(w[j].second);
// if (cs >= l && cs <= u) {
// return tmp;
// }
// }
}
vector<int> ans2; return ans2;
}