#include <bits/stdc++.h>
using namespace std;
multiset<pair<pair<int, int>, int>, greater<pair<pair<int, int>, int>>> S;
queue<pair<int, int>> Q;
int main() {
  int N, max, reg;
  cin >> N >> max >> reg;
  int pow, dmg;
  for (int i = 1; i <= N; i++) {
    cin >> pow >> dmg;
    S.insert(make_pair(make_pair(dmg, pow), i));
  }
  int hp = max, DMG = 0, count = 0, t = 0;
  while (hp > 0 && t < 10000) {
    hp -= DMG;
    hp += reg;
    if (hp > max) hp = max;
    if (hp > 0)
      for (multiset<pair<pair<int, int>, int>,
                    greater<pair<pair<int, int>, int>>>::iterator i = S.begin();
           i != S.end(); i++)
        if (hp / (double)max <= (*i).first.second / 100.0) {
          DMG += (*i).first.first;
          Q.push(make_pair(t, (*i).second));
          S.erase(i);
          count++;
          break;
        }
    t++;
  }
  if (hp > 0) {
    cout << "NO";
    return 0;
  }
  cout << "YES" << endl << t - 1 << " " << count << endl;
  while (!Q.empty()) {
    cout << Q.front().first << " " << Q.front().second << endl;
    Q.pop();
  }
  return 0;
}
