#include "molecules.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define pll pair<ll, ll>
#define emb emplace_back
#define F first
#define S second
vector<int> find_subset(int l, int r, vector<int> w){
vector<pll> vec;
vector<int> res;
int n = w.size();
for(int i=0;i<n;++i){
vec.emb(w[i], i);
}
sort(vec.begin(), vec.end());
int lo = 0, hi = 0;
ll sum = 0;
bool chk = 0;
for(int i=0;i<n;++i){
ll nsum = sum + vec[i].F;
hi = i;
if(nsum < l){
sum = nsum;
}
else if(nsum > r){
sum = sum - vec[lo].F + vec[i].F;
++lo;
}
else{
chk = 1;
break;
}
if(l <= sum && sum <= r){
chk = 1;
break;
}
}
if(!chk) return res;
for(int i=lo;i<=hi;++i){
res.emb(vec[i].S);
}
return res;
}