#include <bits/stdc++.h>
int n, k, A;
double ans = 0, ans1 = 0;
int vot[20], sen[2][20];
void chk() {
  int cnt = 0;
  double t = 1;
  for (int i = 1; i <= n; ++i) {
    if (vot[i] == 1)
      ++cnt, t *= (sen[1][i] / 100.0);
    else
      t *= ((100 - sen[1][i]) / 100.0);
  }
  if (cnt > (n >> 1))
    ans1 += t;
  else {
    int sum = 0;
    for (int i = 1; i <= n; ++i) {
      if (vot[i] == 0) sum += sen[0][i];
    }
    ans1 += ((t * A) / (A + sum));
  }
}
void rec1(int now) {
  if (now > n)
    chk();
  else {
    vot[now] = 1;
    rec1(now + 1);
    vot[now] = 0;
    rec1(now + 1);
  }
}
void rec(int now) {
  if (now > n) {
    ans1 = 0;
    rec1(1);
    ans = std::max(ans, ans1);
  } else {
    int st = 0;
    if (now == n) st = k;
    for (int i = st; i <= k; ++i) {
      int a = sen[1][now];
      sen[1][now] = std::min(100, a + i * 10);
      k -= i;
      rec(now + 1);
      sen[1][now] = a;
      k += i;
    }
  }
}
int main(void) {
  scanf("%d%d%d", &n, &k, &A);
  for (int i = 1; i <= n; ++i) scanf("%d%d", &sen[0][i], &sen[1][i]);
  rec(1);
  printf("%.7lf\n", std::min(ans, 1.000000000));
  return 0;
}
