#include <bits/stdc++.h>
using namespace std;
const int N = 200002;
int n, x1, x2, p[N];
pair<int, int> a[N];
int i1, i2;
bool solve() {
  i1 = i2 = -1;
  for (int i = n; i >= 1; --i) {
    if (a[i].first * (n - i + 1) >= x1) {
      i1 = i;
      break;
    }
  }
  for (int i = i1 - 1; i >= 1; --i) {
    if (a[i].first * (i1 - i) >= x2) {
      i2 = i;
      break;
    }
  }
  return i1 != -1 && i2 != -1;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin >> n >> x1 >> x2;
  for (int i = 1; i <= n; ++i) {
    cin >> a[i].first;
    a[i].second = i;
  }
  sort(a + 1, a + 1 + n);
  if (solve()) {
    cout << "Yes" << endl;
    cout << (n - i1 + 1) << " " << (i1 - i2) << endl;
    for (int i = i1; i <= n; ++i) cout << a[i].second << " ";
    cout << endl;
    for (int i = i2; i < i1; ++i) cout << a[i].second << " ";
    cout << endl;
    return 0;
  }
  swap(x1, x2);
  if (solve()) {
    cout << "Yes" << endl;
    cout << (i1 - i2) << " " << (n - i1 + 1) << endl;
    for (int i = i2; i < i1; ++i) cout << a[i].second << " ";
    cout << endl;
    for (int i = i1; i <= n; ++i) cout << a[i].second << " ";
    cout << endl;
    return 0;
  }
  cout << "No";
}
