#include <bits/stdc++.h>
using namespace std;
long long dp[100009];
int32_t main() {
  cerr << "go\n";
  long long n, k, m;
  cin >> n >> k >> m;
  for (long long i = 1; i <= n; i++) cin >> dp[i];
  sort(dp + 1, dp + n + 1);
  for (long long i = 1; i <= n; i++) dp[i] += dp[i - 1];
  pair<long long, long long> ans = {-1, 1};
  for (long long i = 0; i <= min(m, n - 1); i++) {
    pair<long long, long long> aux = {dp[n] - dp[i] + min(m - i, k * (n - i)),
                                      n - i};
    if (ans.first * aux.second <= aux.first * ans.second) ans = aux;
  }
  printf("%.20Lf\n", (long double)ans.first / (long double)ans.second);
  return 0;
}
