#include <bits/stdc++.h>
using namespace std;
int main() {
  int n{}, m{}, k{}, a{};
  vector<int> v;
  double mx{}, c{}, b{};
  long long l{};
  cin >> n >> k >> m;
  for (int i{}; i < n; i++) {
    cin >> a;
    v.push_back(a);
  }
  a = c = m;
  sort(v.begin(), v.end());
  m -= v.size() - 1;
  if (min(k, m) > 0)
    mx = v[v.size() - 1] + min(k, m);
  else {
    for (int i{}; i < n; i++) l += v[i];
    l += a;
    while (b <= a) {
      if (l / (n - b) > mx) mx = l / (n - b);
      l -= v[b] + 1;
      b++;
    }
  }
  cout << fixed << setprecision(15) << mx << endl;
  return 0;
}
