#include <bits/stdc++.h>
using namespace std;
int P[1024], D[1024];
int main() {
  int N, M, R;
  cin >> N >> M >> R;
  set<pair<int, int> > s;
  for (int i = 0; i < N; i++) {
    cin >> P[i] >> D[i];
    s.insert(make_pair(P[i], i));
  }
  int t = 0, d = 0, h = M;
  set<pair<int, int> > pd;
  vector<pair<int, int> > order;
  while (h > 0 && t < 2000) {
    h = min(M, h + R - d);
    if (h <= 0) break;
    while (s.size() > 0) {
      auto it = --s.end();
      if (it->first * M < h * 100) break;
      pd.insert(make_pair(D[it->second], it->second));
      s.erase(it);
    }
    if (pd.size() > 0) {
      auto it = --pd.end();
      d += it->first;
      order.push_back(make_pair(t, it->second));
      pd.erase(it);
    }
    t += 1;
  }
  if (t == 2000)
    cout << "NO" << endl;
  else {
    cout << "YES" << endl;
    cout << t << " " << order.size() << endl;
    for (auto x : order) cout << x.first << " " << x.second + 1 << endl;
  }
  return 0;
}
