#include <bits/stdc++.h>
using namespace std;
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  long long n, a, b;
  cin >> n >> a >> b;
  vector<pair<long long, long long>> ar(n);
  for (long long i = 0; i < n; ++i) {
    cin >> ar[i].first;
    ar[i].second = i + 1;
  }
  sort(ar.begin(), ar.end());
  long long cnt1 = 0;
  long long cnt2 = 0;
  long long sep1idx = -1;
  long long sep2idx = -1;
  bool done1 = 0;
  bool done2 = 0;
  for (long long i = n - 1; i > -1; i--) {
    if (!done1) {
      cnt1 += ar[i].first;
      if (cnt1 >= a) {
        if ((a * 1.0 / (n - i)) <= ar[i].first) {
          done1 = 1;
          sep1idx = i;
        }
      }
    } else {
      cnt2 += ar[i].first;
      if (cnt2 >= b) {
        if ((b * 1.0 / (sep1idx - i)) <= ar[i].first) {
          done2 = 1;
          sep2idx = i;
          break;
        }
      }
    }
  }
  if (done2) {
    cout << "Yes\n";
    cout << n - sep1idx << " " << sep1idx - sep2idx << "\n";
    for (long long i = n - 1; i >= sep1idx; i--) cout << ar[i].second << " ";
    cout << "\n";
    for (long long i = sep1idx - 1; i >= sep2idx; i--)
      cout << ar[i].second << " ";
    cout << "\n";
    return 0;
  }
  cnt1 = 0;
  cnt2 = 0;
  sep1idx = -1;
  sep2idx = -1;
  done1 = 0;
  done2 = 0;
  swap(a, b);
  for (long long i = n - 1; i > -1; i--) {
    if (!done1) {
      cnt1 += ar[i].first;
      if (cnt1 >= a) {
        if ((a * 1.0 / (n - i)) <= ar[i].first) {
          done1 = 1;
          sep1idx = i;
        }
      }
    } else {
      cnt2 += ar[i].first;
      if (cnt2 >= b) {
        if ((b * 1.0 / (sep1idx - i)) <= ar[i].first) {
          done2 = 1;
          sep2idx = i;
          break;
        }
      }
    }
  }
  if (done2) {
    cout << "Yes\n";
    cout << sep1idx - sep2idx << " " << n - sep1idx << "\n";
    for (long long i = sep1idx - 1; i >= sep2idx; i--)
      cout << ar[i].second << " ";
    cout << "\n";
    for (long long i = n - 1; i >= sep1idx; i--) cout << ar[i].second << " ";
    cout << "\n";
    return 0;
  }
  cout << "No";
  return 0;
}
