#include <bits/stdc++.h>
using namespace std;
int n, k, A, B;
int b[10], l[10];
double ans = 0;
void check() {
  double tmp = 0;
  for (int mask = 0; mask < (1 << n); ++mask) {
    int sum = 0, num = 0;
    for (int i = 0; i < n; ++i)
      if (mask & (1 << i))
        sum += 0, ++num;
      else
        sum += b[i];
    double fail = 1;
    for (int i = 0; i < n; ++i)
      if (mask & (1 << i))
        fail *= l[i] / 100.0;
      else
        fail *= (100 - l[i]) / 100.0;
    if (fail == 0) continue;
    if (num > n / 2)
      tmp += fail;
    else
      tmp += fail * ((A * 1.0) / (A + sum));
  }
  ans = max(ans, tmp);
}
void go(int pos, int ost) {
  if (pos == n) {
    check();
    return;
  }
  if (ost == 0) {
    check();
    return;
  }
  for (int i = l[pos]; i <= 100; i += 10) {
    if (ost * 10 >= i - l[pos]) {
      int tmp = l[pos];
      l[pos] = i;
      go(pos + 1, ost - ((i - tmp) / 10));
      l[pos] = tmp;
    }
  }
}
int main() {
  cin >> n >> k >> A;
  for (int i = 0; i < n; ++i) {
    cin >> b[i] >> l[i];
    B += b[i];
  }
  go(0, k);
  printf("%.9f\n", ans);
  return 0;
}
