#include <bits/stdc++.h>
using namespace std;
int Reg, Max;
int main() {
  int n, pow, dmg;
  cin >> n >> Max >> Reg;
  double hp = Max;
  vector<vector<int> > casts(n, vector<int>(3, 0));
  vector<vector<int> > actions(n, vector<int>(2, -1));
  int act_sz = 0;
  for (int i = 0; i < n; i++) {
    casts[i][0] = i + 1;
    cin >> pow >> dmg;
    casts[i][1] = pow;
    casts[i][2] = dmg;
  }
  bool changed = true;
  while (changed) {
    changed = false;
    for (int i = 0; i < n - 1; i++) {
      if (casts[i][2] < casts[i + 1][2]) {
        swap(casts[i], casts[i + 1]);
        changed = true;
      }
    }
  }
  int sec;
  for (sec = 0;; sec++) {
    for (int i = 0; i < act_sz && actions[i][0] != -1; i++)
      hp -= casts[actions[i][1]][2];
    hp += Reg;
    if (hp > Max) hp = Max;
    if (hp <= 0) break;
    int j;
    for (j = 0; j < n; j++) {
      if ((casts[j][0] < 0) || (casts[j][1] * Max / 100 < hp)) continue;
      actions[act_sz][0] = sec;
      actions[act_sz][1] = j;
      casts[j][0] = -casts[j][0];
      act_sz++;
      break;
    }
    if (j == n) {
      int damage = -Reg;
      for (int k = 0; k < act_sz; k++) damage += casts[actions[k][1]][2];
      if (damage <= 0) {
        cout << "NO";
        return 0;
      }
    }
  }
  cout << "YES" << endl;
  cout << sec << " " << act_sz << endl;
  for (int i = 0; i < act_sz; i++)
    cout << actions[i][0] << " " << -casts[actions[i][1]][0] << endl;
  return 0;
}
