#include <bits/stdc++.h>
using namespace std;
const long long inf = 1e18 + 1;
long long gcd(long long x, long long y) {
  if (y == 0) return x;
  return gcd(y, x % y);
}
long long power(long long A, long long B, long long mod) {
  long long r = 1;
  while (B > 0) {
    if (B & 1LL) r = (r * A) % mod;
    A = (A * A) % mod;
    B >>= 1;
  }
  return r;
}
struct set_comp {
  bool operator()(const int& lhs, const int& rhs) { return lhs < rhs; }
};
long long a[100002];
long long rcsum[100002];
int main() {
  long long n, k, m, i;
  cin >> n >> k >> m;
  for (i = 1; i <= n; i++) {
    cin >> a[i];
  }
  sort(a + 1, a + n + 1);
  for (i = n; i >= 1; i--) {
    rcsum[i] = a[i] + rcsum[i + 1];
  }
  double ans = 0.0;
  for (i = 0; i <= min(n - 1, m); i++) {
    long long r = m - i;
    double val;
    if (k * (n - i) <= m - i) {
      val = 1.0 * (rcsum[i + 1] + k * (n - i)) / (n - i);
    } else {
      val = 1.0 * (rcsum[i + 1] + m - i) / (n - i);
    }
    if (val > ans) ans = val;
  }
  printf("%0.12f\n", ans);
  return 0;
}
