#include <bits/stdc++.h>
using namespace std;
vector<pair<int, int> > sen;
int _n, _k, _A, _B;
void pos(int n, int r, int B, double p, double& p_sum) {
  if (n == _n) {
    if (2 * r <= _n) {
      p *= (((double)_A) / (_A + B));
    }
    p_sum += p;
    return;
  }
  pos(n + 1, r + 1, B - sen[n].first, p * sen[n].second / 100.0, p_sum);
  pos(n + 1, r, B, p * (100 - sen[n].second) / 100.0, p_sum);
}
double best(int p, int cook) {
  double max_p = 0;
  if (p == _n) {
    double p = 0.0;
    pos(0, 0, _B, 1.0, p);
    return p;
  }
  for (int k = 0; k <= cook && sen[p].second + 10 * k <= 100; k++) {
    sen[p].second += k * 10;
    max_p = max(max_p, best(p + 1, cook - k));
    sen[p].second -= k * 10;
  }
  return max_p;
}
int main() {
  scanf("%d %d %d", &_n, &_k, &_A);
  _B = 0;
  for (int i = 0; i < _n; i++) {
    int b, l;
    scanf("%d %d", &b, &l);
    sen.push_back(pair<int, int>(b, l));
    _B += b;
  }
  printf("%.6f\n", best(0, _k));
  return 0;
}
