#include <bits/stdc++.h>
double ans, f[10][1000];
int n, k, a, v[10], p[10], g[10], ki[10], l[10];
void calc() {
  int b = a;
  for (int i = 1; i <= n; ++i) {
    l[i] = p[i] + g[i];
    if (l[i] > 100) l[i] = 100;
  }
  f[0][0] = 1;
  for (int i = 1; i <= n; ++i)
    for (int j = 0; j <= (1 << i - 1) - 1; ++j) {
      f[i][j] = f[i - 1][j] * (100 - l[i]) / 100;
      f[i][j + (1 << i - 1)] = f[i - 1][j] * l[i] / 100;
    }
  double res = 0;
  for (int i = 0; i <= (1 << n) - 1; ++i) {
    int tot = 0, b = a;
    for (int j = 1; j <= n; ++j)
      if (i & (1 << j - 1))
        ++tot;
      else
        b += v[j];
    if (tot * 2 > n)
      res += f[n][i];
    else
      res += f[n][i] * a / b;
  }
  if (res > ans) ans = res;
}
void dfs(int now, int left) {
  if (now == n + 1) {
    calc();
    return;
  }
  if (left == 0)
    dfs(now + 1, 0);
  else {
    for (int i = 0; i <= left; ++i) {
      if (p[now] + i * 10 >= 110) break;
      g[now] = i * 10;
      dfs(now + 1, left - i);
      g[now] = 0;
    }
  }
}
int main() {
  scanf("%d%d%d", &n, &k, &a);
  for (int i = 1; i <= n; ++i) scanf("%d%d", &v[i], &p[i]);
  dfs(1, k);
  printf("%.6lf\n", ans);
  return 0;
}
