#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 5;
const double eps = 1e-8;
int equa(double a, double b) {
  if (abs(a - b) < eps)
    return 1;
  else
    return 0;
}
int num[maxn];
int main() {
  std::ios::sync_with_stdio(false);
  long long n;
  long long k, m;
  cin >> n >> k >> m;
  long long sum = 0;
  int i;
  for (i = 0; i < n; ++i) {
    cin >> num[i];
    sum += num[i];
  }
  sort(num, num + n);
  long long cnt = 0;
  double ans = 1.0 * (sum + min(n * k, m)) / n;
  while (cnt < m && n > 1) {
    double shan = 0;
    if (((n - 1) * k) <= (m - cnt - 1)) {
      shan = 1.0 * (sum - num[cnt] + (n - 1) * k) / (n - 1);
    } else
      shan = 1.0 * (sum - num[cnt] + m - cnt - 1) / (n - 1);
    sum -= num[cnt];
    cnt++;
    n--;
    ans = max(shan, ans);
  }
  cout << fixed << setprecision(10) << ans << endl;
  return 0;
}
