#include <bits/stdc++.h>
using namespace std;
double calculatePercentage(double in, double limit) {
  return (in / limit) * 100;
}
int main() {
  long long int n, maxHealth, reg, tempPow, tempDam,
      time = 0, currentDam = 0, currentHealth, maxIdx, totalDam = 0;
  vector<pair<long long int, long long int> > scrolls;
  vector<bool> used;
  vector<pair<long long int, long long int> > ans;
  bool found;
  scanf("%lld %lld %lld", &n, &maxHealth, &reg);
  for (long long int i = 0; i < n; i++) {
    scanf("%lld %lld", &tempPow, &tempDam);
    scrolls.push_back(make_pair(tempPow, tempDam));
  }
  currentHealth = maxHealth;
  used.assign(n, false);
  while (1) {
    if (currentHealth <= 0) break;
    found = false;
    for (long long int i = 0; i < n; i++) {
      if (scrolls[i].first >= calculatePercentage(currentHealth, maxHealth) &&
          used[i] == false) {
        if (found == false) {
          maxIdx = i;
          currentDam = scrolls[i].second;
          found = true;
          used[i] = true;
        } else {
          if (currentDam < scrolls[i].second) {
            used[maxIdx] = false;
            maxIdx = i;
            currentDam = scrolls[i].second;
            used[i] = true;
          }
        }
      }
    }
    if (found) {
      totalDam += currentDam;
      ans.push_back(make_pair(time, maxIdx + 1));
    }
    if (totalDam <= reg && !found) {
      break;
    }
    currentHealth -= totalDam;
    currentHealth += reg;
    if (currentHealth > maxHealth) currentHealth = maxHealth;
    time++;
  }
  if (currentHealth > 0) {
    cout << "NO" << endl;
  } else {
    cout << "YES" << endl;
    cout << time << " " << ans.size() << endl;
    for (long long int i = 0; i < ans.size(); i++) {
      cout << ans[i].first << " " << ans[i].second << endl;
    }
  }
}
