#include <bits/stdc++.h>
using namespace std;
int i, j, k, n, m;
int b[10], a[10];
double an, A, s;
void Dfs(int x, int y, int z, double gai) {
  if (x > n) {
    if (y + y > n)
      s += gai;
    else
      s += gai * A / (A + z);
    return;
  }
  Dfs(x + 1, y + 1, z, gai * b[x] / 10);
  Dfs(x + 1, y, z + a[x], gai * (1 - 1. * b[x] / 10));
}
void dfs(int x, int y) {
  int i, j;
  if (x > n) {
    s = 0;
    Dfs(1, 0, 0, 1);
    an = max(an, s);
    return;
  }
  for (i = 0; i <= min(y, 10 - b[x]); i++) {
    b[x] += i;
    dfs(x + 1, y - i);
    b[x] -= i;
  }
}
int main() {
  scanf("%d%d%lf", &n, &m, &A);
  for (i = 1; i <= n; i++) scanf("%d%d", &a[i], &b[i]), b[i] /= 10;
  dfs(1, m);
  printf("%.12lf\n", an);
  return 0;
}
