func_code_string: #include <bits/stdc++.h>   using namespace std;   long long n;   vector<pair<long long, long long> > serv;   bool check(long long x1, long long x2) {     long long pos = 0;     bool found = false;     for (long long i = n - 1; i >= 0; --i) {       if (serv[i].first * (n - i) >= x2) {         found = true;         pos = i;         break;       }     }     if (!found) {       return false;     }     found = false;     for (long long i = pos - 1; i >= 0; --i) {       if (serv[i].first * (pos - i) >= x1) {         found = true;         break;       }     }     return found;   }   pair<vector<long long>, vector<long long> > print(long long x1, long long x2) {     vector<long long> a1, a2;     long long pos = 0;     for (long long i = n - 1; i >= 0; --i) {       a2.push_back(serv[i].second);       if (serv[i].first * (n - i) >= x2) {         pos = i;         break;       }     }     for (long long i = pos - 1; i >= 0; --i) {       a1.push_back(serv[i].second);       if (serv[i].first * (pos - i) >= x1) {         break;       }     }     return {a1, a2};   }   void solve() {     long long x1 = 0, x2 = 0;     cin >> n >> x1 >> x2;     serv.resize(n);     for (long long i = 0; i < n; ++i) {       cin >> serv[i].first;       serv[i].second = i;     }     sort(serv.begin(), serv.end());     if (check(x1, x2)) {       cout <<  Yes  << endl;       auto ans = print(x1, x2);       cout << ans.first.size() <<     << ans.second.size() << endl;       for (long long x : ans.first) cout << x + 1 <<    ;       cout << endl;       for (long long x : ans.second) cout << x + 1 <<    ;       cout << endl;     } else if (check(x2, x1)) {       cout <<  Yes  << endl;       auto ans = print(x2, x1);       cout << ans.second.size() <<     << ans.first.size() << endl;       for (long long x : ans.second) cout << x + 1 <<    ;       cout << endl;       for (long long x : ans.first) cout << x + 1 <<    ;       cout << endl;     } else {       cout <<  No  << endl;     }   }   signed main() {     ios_base::sync_with_stdio(false);     cin.tie(0);     cout.tie(0);     solve();     return 0;   }   