#include <bits/stdc++.h>
using namespace std;
void solve() {
  int n, x, y;
  cin >> n >> x >> y;
  int a[n];
  vector<pair<int, int>> v;
  for (int i = 0; i < n; i++) cin >> a[i], v.emplace_back(a[i], i);
  bool sw = 0;
  if (x > y) {
    swap(x, y);
    sw = 1;
  }
  sort(a, a + n);
  sort(v.begin(), v.end());
  for (int i = 0; i < n; i++) {
    double f = ceil(x / (double)a[i]);
    int l = i + f, r = n - 1;
    while (l <= r) {
      int m = l + (r - l) / 2;
      double s = ceil(y / (double)a[m]);
      if (m + s <= n) {
        cout << "Yes\n";
        if (!sw) {
          cout << f << " " << s << "\n";
          for (int j = i; j < i + floor(f); j++) cout << v[j].second + 1 << " ";
          cout << "\n";
          for (int j = m; j < m + floor(s); j++) cout << v[j].second + 1 << " ";
          cout << "\n";
        } else {
          cout << s << " " << f << "\n";
          for (int j = m; j < m + floor(s); j++) cout << v[j].second + 1 << " ";
          cout << "\n";
          for (int j = i; j < i + floor(f); j++) cout << v[j].second + 1 << " ";
          cout << "\n";
        }
        return;
      } else {
        r = m - 1;
      }
    }
  }
  for (int i = n - 1; i >= 0; i--) {
    double f = ceil(x / (double)a[i]);
    if (i + f > n) continue;
    int l = 0, r = i - 1;
    if (r < 0) continue;
    while (l <= r) {
      int m = l + (r - l) / 2;
      double s = ceil(y / (double)a[m]);
      if (m + s <= i) {
        cout << "Yes\n";
        if (!sw) {
          cout << f << " " << s << "\n";
          for (int j = i; j < i + f; j++) cout << v[j].second + 1 << " ";
          cout << "\n";
          for (int j = m; j < m + s; j++) cout << v[j].second + 1 << " ";
          cout << "\n";
        } else {
          cout << s << " " << f << "\n";
          for (int j = m; j < m + s; j++) cout << v[j].second + 1 << " ";
          cout << "\n";
          for (int j = i; j < i + f; j++) cout << v[j].second + 1 << " ";
          cout << "\n";
        }
        return;
      } else {
        r = m - 1;
      }
    }
  }
  cout << "No\n";
}
int32_t main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  int t = 1;
  while (t--) solve();
}
