#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int n, k, m;
  vector<int> vec;
  cin >> n >> k >> m;
  for (int i = 0; i < n; i++) {
    int temp;
    cin >> temp;
    vec.push_back(temp);
  }
  sort(vec.begin(), vec.end());
  int ul = min(n - 1, m);
  double res = 0;
  unsigned long long sum = 0;
  for (int i = 0; i < vec.size(); i++) sum += vec[i];
  if (vec.size() * k >= m)
    res = (double)(sum + m) / vec.size();
  else
    res = (double)(sum + vec.size() * k) / vec.size();
  for (int i = 1; i <= ul; i++) {
    sum = sum - vec[i - 1];
    double temp;
    if ((vec.size() - i) * k >= m - i)
      temp = (double)(sum + m - i) / (vec.size() - i);
    else
      temp = (double)(sum + (vec.size() - i) * k) / (vec.size() - i);
    if (temp > res) res = temp;
  }
  cout << fixed << setprecision(20) << res;
  return 0;
}
