#include <bits/stdc++.h>
using namespace std;
template <typename T = int>
vector<T> ReadVector(size_t size, istream& in = cin) {
  vector<T> result(size);
  for (size_t i = 0; i < size; ++i) {
    in >> result[i];
  }
  return result;
}
int main() {
  ios_base::sync_with_stdio(false);
  int n, k, m;
  cin >> n >> k >> m;
  vector<int> a = ReadVector(n);
  sort(a.begin(), a.end());
  double sum = 0;
  for (int el : a) {
    sum += el;
  }
  double result = 0;
  for (int start_index = 0; start_index <= min(m, n - 1); ++start_index) {
    double count = n - start_index;
    double current_result =
        (sum + min(double(m - start_index), double(k) * (n - start_index))) /
        count;
    result = max(result, current_result);
    sum -= a[start_index];
  }
  cout.precision(25);
  cout << fixed << result << endl;
}
