#include <bits/stdc++.h>
using namespace std;
void run() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
}
double a[100005];
int main() {
  run();
  int n;
  double k, m;
  double maxi = 0, ss = 0, sum = 0, max_num = 0;
  cin >> n >> k >> m;
  max_num = n;
  for (int i = 0; i < n; i++) {
    cin >> a[i];
    maxi += a[i];
    sum += a[i];
  }
  sort(a, a + n);
  maxi = maxi / (double)n;
  double num = n;
  for (int i = 0; i < n && m; i++) {
    double take = 0, leave = 0;
    if (m / k >= num)
      take += num * k;
    else
      take += m;
    take += sum - ss;
    take = take / num;
    bool ok = 0;
    if (num > 1) {
      ok = 1;
      num--;
      m--;
      if (m / k >= num)
        leave += num * k;
      else
        leave += m;
      leave += sum - ss - a[i];
      leave = leave / num;
    }
    if (take > leave && take > maxi) {
      maxi = take;
      max_num = num + (ok ? 1 : 0);
    } else if (leave > maxi) {
      maxi = leave;
      max_num = num;
    }
    ss += a[i];
  }
  cout << fixed << setprecision(20) << maxi << endl;
  return 0;
}
