#include <bits/stdc++.h>
using namespace std;
int n, mx, reg;
int scr[1010][2];
double nextScr;
bool used[1010];
int h;
int dmg;
int s;
int ind;
int best;
double hp;
int k;
int ord[1010][2];
double tmp;
int main() {
  scanf("%d %d %d", &n, &mx, &reg);
  for (int i = 0; i < n; i++) scanf("%d %d", &scr[i][0], &scr[i][1]);
  for (int i = 0; i < n; i++) used[i] = false;
  ;
  dmg = 0;
  s = 0;
  h = mx;
  nextScr = (double)mx + 2;
  k = 0;
  while (1) {
    ;
    ;
    h -= dmg;
    h = min(reg + h, mx);
    ;
    if (h <= 0) {
      ;
      break;
    }
    hp = (double)h;
    ;
    if (hp <= nextScr) {
      ;
      ind = -1;
      best = -1;
      nextScr = 0.0;
      for (int i = 0; i < n; i++) {
        tmp = (double)scr[i][0];
        tmp *= (mx * 0.01);
        ;
        if (tmp < hp) continue;
        if (used[i]) continue;
        if (best < scr[i][1]) {
          ind = i;
          best = scr[i][1];
        }
      }
      for (int i = 0; i < n; i++) {
        if (used[i]) continue;
        if (ind == i) continue;
        nextScr = max(nextScr, scr[i][0] * mx * 0.01);
      };
      if (ind != -1) {
        used[ind] = true;
        dmg += scr[ind][1];
        ord[k][0] = s;
        ord[k][1] = ind + 1;
        k++;
      }
    } else
      ;
    if (reg >= dmg && h > nextScr) break;
    if (h <= 0) break;
    s++;
  }
  if (h <= 0) {
    printf("YES\n");
    printf("%d %d\n", s, k);
    for (int i = 0; i < k; i++) {
      printf("%d %d\n", ord[i][0], ord[i][1]);
    }
  } else {
    printf("NO\n");
  }
  return 0;
}
