#include <bits/stdc++.h>
double best = 0;
int n, k, a, b[8], l[8];
void go(int i, int j) {
  if (i == n) {
    double sum = 0;
    for (int mask = 0; mask < (1 << n); ++mask) {
      double p = 1;
      int cnt = 0, bad = 0;
      for (int j = 0; j < n; ++j)
        if (mask & (1 << j))
          p *= l[j] / 100.0, cnt++;
        else
          p *= (100 - l[j]) / 100.0, bad += b[j];
      if (cnt * 2 > n)
        sum += p;
      else
        sum += p * (a / (bad + a + 0.0));
    }
    if (best < sum) best = sum;
    return;
  }
  for (int d = 0; d + j <= k; ++d) {
    l[i] += d * 10;
    if (l[i] <= 100) go(i + 1, j + d);
    l[i] -= d * 10;
  }
}
int main() {
  scanf("%d%d%d", &n, &k, &a);
  for (int i = 0; i < n; ++i) scanf("%d%d", &b[i], &l[i]);
  go(0, 0);
  printf("%.10lf\n", best);
  return 0;
}
