#include <bits/stdc++.h>
using namespace std;
int n, k, A;
int b[10], l[10];
double res, p;
void dfs(int index) {
  if (index == n) {
    double tmp = 0.0;
    for (int(i) = 0; (i) < (1 << n); ++(i)) {
      double p = 1.0;
      for (int(j) = 0; (j) < (n); ++(j)) {
        if ((i >> j) & 1)
          p *= l[j] * 0.01;
        else
          p *= (100 - l[j]) * 0.01;
      }
      int sum = 0;
      for (int(j) = 0; (j) < (n); ++(j))
        if ((i >> j) & 1) sum++;
      if (sum > n / 2) {
        tmp += p;
        continue;
      }
      sum = 0;
      for (int(j) = 0; (j) < (n); ++(j))
        if (((i >> j) & 1) == 0) sum += b[j];
      p = p * A / (A + sum);
      tmp += p;
    }
    if (tmp > res) res = tmp;
  } else {
    if (k == 0) dfs(n);
    for (int(i) = (0); (i) <= (min((100 - l[index]) / 10, k)); ++(i)) {
      k -= i;
      l[index] += i * 10;
      dfs(index + 1);
      l[index] -= i * 10;
      k += i;
    }
  }
}
int main() {
  cin >> n >> k >> A;
  for (int(i) = 0; (i) < (n); ++(i)) cin >> b[i] >> l[i];
  res = 0.0;
  dfs(0);
  printf("%.10lf\n", res);
  return 0;
}
