#include <bits/stdc++.h>
using namespace std;
void cpr(string s, vector<long long> v) {
  long long i = 0;
  for (char c : s) {
    if (c == '$')
      cout << v[i++];
    else
      cout << c;
  }
  cout << '\n';
}
void cpr(string s) { cpr(s, {}); }
void solve();
signed main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  solve();
  return 0;
}
long long n, k, m;
vector<long long> a, s;
void solve() {
  cin >> n >> k >> m;
  a.resize(n);
  for (long long i = (0); i < (n); ++i) cin >> a[i];
  sort(a.begin(), a.end());
  double rep = 0;
  long long sum = 0;
  for (long long i = (n - 1); i >= 0; --i) {
    sum += a[i];
    long long rop = m - i;
    if (rop < 0) continue;
    double nvs = sum + min(k * (n - i), rop);
    nvs /= (double)(n - i);
    rep = max(rep, (nvs));
  }
  cout << fixed << setprecision(9) << rep << "\n";
}
