#include <bits/stdc++.h>
using namespace std;
const int loveisblue = 486;
const int maxn = 100086;
const int maxm = 100086;
const int inf = 0x3f3f3f3f;
const long long Inf = 999999999999999999;
const int mod = 1000000007;
const double eps = 1e-6;
const double pi = acos(-1);
int a[maxn];
priority_queue<int, vector<int>, greater<int> > q;
int main() {
  ios::sync_with_stdio(true);
  int n, k, m;
  scanf("%d%d%d", &n, &k, &m);
  for (int i = 1; i <= n; i++) {
    scanf("%d", &a[i]);
  }
  sort(a + 1, a + 1 + n);
  int maxd = m - k;
  long long sum = 0, num = 0;
  if (maxd >= n - 1) {
    q.push(a[n]);
    num = 1;
    sum += a[n];
    m = k;
  } else {
    for (int i = 1; i <= n; i++) {
      q.push(a[i]);
      num++;
      sum += a[i];
    }
  }
  while (m--) {
    int t = q.top();
    q.pop();
    if (num == 1) {
      sum++;
      q.push(t + 1);
      continue;
    }
    int add = min(k * (num - 1), 1ll * m + 1);
    long long num1, sum1;
    num1 = num - 1;
    sum1 = sum - t + m;
    long long num2, sum2;
    num2 = num;
    sum2 = sum + add;
    if (num1 * sum2 <= num2 * sum1) {
      num -= 1;
      sum -= t;
    } else {
      sum += 1;
      q.push(t + 1);
    }
  }
  cerr << "sum"
       << " = " << sum << endl;
  cerr << "num"
       << " = " << num << endl;
  printf("%.6f\n", 1.0 * sum / num);
  return 0;
}
