#include <bits/stdc++.h>
using namespace std;
int n, mx, reg, hp, atk;
bool f[1005];
int ans, t, tim[1005], num[1005];
struct node {
  int pow, dmg, number;
} a[1005];
bool cmp(node x, node y) { return x.dmg > y.dmg; }
int main() {
  scanf("%d%d%d", &n, &mx, &reg);
  hp = mx;
  for (int i = 1; i <= n; i++)
    scanf("%d%d", &a[i].pow, &a[i].dmg), a[i].number = i;
  sort(a + 1, a + n + 1, cmp);
  for (t = 0;; t++) {
    hp = hp - atk + reg;
    if (hp > mx) hp = mx;
    if (hp <= 0) break;
    if (hp == mx) {
      bool flag = true;
      for (int i = 1; i <= n; i++)
        if (a[i].pow >= 100 && !f[i]) {
          flag = false;
          break;
        }
      if (flag) return puts("NO"), 0;
    }
    for (int i = 1; i <= n; i++)
      if (!f[i] && hp * 100 <= mx * a[i].pow) {
        atk += a[i].dmg;
        f[i] = true;
        ans++;
        tim[ans] = t;
        num[ans] = a[i].number;
        break;
      }
  }
  puts("YES");
  printf("%d %d\n", t, ans);
  for (int i = 1; i <= ans; i++) printf("%d %d\n", tim[i], num[i]);
  return 0;
}
