#include <bits/stdc++.h>
using namespace std;
const long double epsylon = 1e-9;
const std::string PROGRAM_NAME = "ivo";
int main() {
  int n, k, m;
  cin >> n >> k >> m;
  vector<int> a(n);
  for (int i = 0; i < (int)a.size(); ++i) {
    scanf("%d", &a[i]);
  }
  sort(a.begin(), a.end());
  reverse(a.begin(), a.end());
  vector<long long> b(n);
  long long sum = 0;
  b[0] = a[0];
  for (int i = 1; i < (int)b.size(); ++i) {
    b[i] = b[i - 1] + (long long)a[i];
    sum += a[i];
  }
  long double best = 0;
  for (int i = 0; i < (int)b.size(); ++i) {
    int needed = n - i - 1;
    int remaining = m - needed;
    if (remaining < 0) {
      continue;
    }
    long long multiplier = min((long long)remaining, (long long)k * (i + 1));
    long double current = b[i] + multiplier;
    current /= (long double)(i + 1);
    best = max(best, current);
  }
  printf("%.9lf", double(best));
  return 0;
}
