#include <bits/stdc++.h>
using namespace std;
template <typename Q>
inline int size(Q a) {
  return a.size();
}
const int INF = 1000000000;
const int MAXN = 10;
int n, k, A;
int lev[MAXN], loy[MAXN];
double res = 0.0;
void check() {
  double curres = 0.0;
  for (int S = 0; S < (1 << n); ++S) {
    double curp = 1.0;
    for (int i = 0; i < (n); ++i) {
      double bl = (loy[i] > 100) ? 1.0 : (loy[i] / 100.0);
      if (S & (1 << i))
        curp *= bl;
      else
        curp *= 1.0 - bl;
    }
    if (__builtin_popcount(S) * 2 > n)
      curres += curp;
    else {
      int B = 0;
      for (int i = 0; i < (n); ++i)
        if (!(S & (1 << i))) B += lev[i];
      curres += curp * A / (A + B);
    }
  }
  if (curres > res) res = curres;
}
void go(int i, int sw) {
  if (i == n)
    check();
  else
    for (int j = (0); j <= (sw); ++j) {
      loy[i] += j * 10;
      go(i + 1, sw - j);
      loy[i] -= j * 10;
    }
}
int main() {
  scanf("%d%d%d", &n, &k, &A);
  for (int i = 0; i < (n); ++i) scanf("%d%d", &lev[i], &loy[i]);
  go(0, k);
  printf("%0.8lf\n", res);
  return 0;
}
