#include <bits/stdc++.h>
using namespace std;
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  int n;
  cin >> n;
  vector<int> x(2);
  cin >> x[0] >> x[1];
  vector<pair<int, int>> c(n);
  for (int i = 0; i < n; ++i) {
    cin >> c[i].first;
    c[i].second = i;
  }
  sort(c.rbegin(), c.rend());
  for (int rot = 0; rot < 2; ++rot) {
    int k1 = -1;
    for (int i = 0; i < n; ++i) {
      if (x[0] <= 1LL * c[i].first * (i + 1)) {
        k1 = i + 1;
        break;
      }
    }
    if (k1 != -1) {
      int k2 = -1;
      for (int i = k1; i < n; ++i) {
        if (x[1] <= 1LL * c[i].first * (i - k1 + 1)) {
          k2 = i - k1 + 1;
          break;
        }
      }
      if (k2 != -1) {
        cout << "Yes\n";
        vector<vector<int>> ans(2);
        for (int i = 0; i < k1; ++i) {
          ans[rot].push_back(c[i].second);
        }
        for (int i = 0; i < k2; ++i) {
          ans[rot ^ 1].push_back(c[k1 + i].second);
        }
        cout << (int)ans[0].size() << ' ' << (int)ans[1].size() << '\n';
        for (int i = 0; i < 2; ++i) {
          for (int x : ans[i]) {
            cout << x + 1 << ' ';
          }
          cout << '\n';
        }
        return 0;
      }
    }
    swap(x[0], x[1]);
  }
  cout << "No\n";
  return 0;
}
