#include <bits/stdc++.h>
using namespace std;
int delta[4][2] = {{0, 1}, {1, 0}, {-1, 0}, {0, -1}};
long long calc_pow(long long a, long long p, long long m = 998244353) {
  long long res = 1;
  while (p > 0) {
    if (p & 1) res = (res * a) % m;
    a = (a * a) % m;
    p >>= 1;
  }
  return res;
}
long long calc_pow_without_mod(long long a, long long p) {
  long long res = 1;
  while (p > 0) {
    if (p & 1) res = res * a;
    a = a * a;
    p >>= 1;
  }
  return res;
}
bool vowel(char ch) {
  if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u')
    return true;
  return false;
}
void func() {
  long double n, k, m;
  cin >> n >> k >> m;
  long double arr[100000 + 1];
  for (int i = 1; i <= (n); i++) cin >> arr[i];
  if (n == 1) {
    cout << setprecision(20) << (arr[1] + min(m, k));
    return;
  }
  sort(arr + 1, arr + (int)n + 1);
  long double sum = 0;
  for (int i = 1; i <= (n); i++) sum += arr[i];
  long double ans = (sum + min(n * k, m)) / n;
  for (int i = 1; i <= (n); i++) {
    if (i == n) {
      ans = max(ans, arr[i] + min(k, m));
      break;
    }
    ans = max(ans, (sum - arr[i] + min((n - i) * k, m - 1)) / (n - i));
    sum -= arr[i];
    m--;
    if (m == 0) break;
  }
  cout << setprecision(20) << ans;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  func();
  return 0;
}
