#include <bits/stdc++.h>
using namespace std;
struct my {
  int num;
  int dmg;
} dmg[10010];
int mx, reg, rg[10010], n;
int flag[10010];
vector<pair<int, int> > v;
bool operator<(my a, my b) {
  if (a.dmg > b.dmg) return 1;
  return 0;
}
int main() {
  cin >> n >> mx >> reg;
  for (int i = 0; i < n; i++) {
    cin >> rg[i] >> dmg[i].dmg;
    dmg[i].num = i;
  }
  int time = 0, inds, kols = 0, fl = 0;
  int total_dmg = 0, cur = mx;
  sort(dmg, dmg + n);
  while (1) {
    cur += (reg - total_dmg);
    if (cur > mx) cur = mx;
    if (cur <= 0) {
      cout << "YES\n";
      cout << time << ' ' << kols << '\n';
      for (int i = 0; i < (int)v.size(); i++)
        cout << v[i].first << ' ' << v[i].second << '\n';
      return 0;
    }
    inds = -1;
    for (int i = 0; i < n; i++) {
      if (!flag[i]) {
        if (cur * 100 <= rg[dmg[i].num] * mx) {
          inds = i;
          break;
        }
      }
    }
    if (inds != -1) {
      total_dmg += dmg[inds].dmg;
      flag[inds] = 1;
      kols++;
      v.push_back(make_pair(time, dmg[inds].num + 1));
    } else {
      if (reg >= total_dmg) {
        cout << "NO\n";
        return 0;
      }
    }
    time++;
  }
  return 0;
}
