#include <bits/stdc++.h>
using namespace std;
int b[10], l[10], n, A;
double ans;
int len;
void dfs(int m, int k) {
  int i, j;
  double p;
  if (m == n) {
    int B = 0;
    p = 0;
    for (i = 0; i < len; i++) {
      double u, v;
      B = 0;
      if (__builtin_popcount(i) * 2 > n) {
        u = 1;
      } else {
        for (j = 0; j < n; j++)
          if (!((1 << j) & i)) {
            B += b[j];
          }
        u = A * 1.0 / (A + B);
      }
      v = 1;
      for (j = 0; j < n; j++)
        if ((1 << j) & i) {
          v *= l[j] * 0.1;
        } else
          v *= 1 - l[j] * 0.1;
      p += v * u;
    }
    if (p > ans) ans = p;
    return;
  }
  for (i = 0; i <= 10 - l[m] && i <= k; i++) {
    l[m] += i;
    dfs(m + 1, k - i);
    l[m] -= i;
  }
  return;
}
int main() {
  int i, j, k, m;
  while (scanf("%d%d%d", &n, &k, &A) != EOF) {
    len = 1 << n;
    for (i = 0; i < n; i++) {
      scanf("%d%d", b + i, l + i);
      l[i] /= 10;
    }
    ans = 0;
    dfs(0, k);
    printf("%.12lf\n", ans);
  }
  scanf("%*d");
}
