#include <bits/stdc++.h>
using namespace std;
const double eps = 1e-6;
const int N = 1005;
int n, hp, reg;
pair<pair<int, int>, int> a[N];
int main() {
  while (cin >> n >> hp >> reg) {
    int init = hp;
    for (int i = 0; i < n; i++) {
      cin >> a[i].first.first >> a[i].first.second;
      a[i].second = i + 1;
    }
    sort(a, a + n);
    int ok = -1;
    vector<pair<int, int> > ret;
    priority_queue<pair<int, int> > que;
    for (int t = 0, i = n - 1, damage = 0; t < 10000; t++) {
      while (i >= 0 && a[i].first.first * 1.0 / 100 * init >= hp) {
        que.push(make_pair(a[i].first.second, a[i].second));
        i--;
      }
      if (!que.empty()) {
        pair<int, int> top = que.top();
        que.pop();
        ret.push_back(make_pair(t, top.second));
        damage += top.first;
      }
      int now = hp;
      hp = min(init, hp - damage + reg);
      if (hp <= 0) {
        ok = t + 1;
        break;
      }
    }
    if (hp <= 0) {
      puts("YES");
      sort(ret.begin(), ret.end());
      printf("%d %d\n", ok, ret.size());
      for (int i = 0; i < ret.size(); i++)
        printf("%d %d\n", ret[i].first, ret[i].second);
    } else
      puts("NO");
  }
  return 0;
}
