#!/usr/bin/env python3
from bisect import bisect


def find_pair(target, used):
    i = min(q, bisect(pair_sums, (target, 0)))
    return 1e14 if any(t in used for t in pair_sums[i][1:]) else pair_sums[i][0]


(n, k, goal), xs = (list(map(int, input().split())) for _ in "__")
m, e = abs(goal - (s := sum(xs)) / n), enumerate
if k >= 1: m = min(m, *(abs(goal - (s - a) / (n - 1)) for a in xs))
if k >= 2: m = min(m, *(abs(goal - (s - a - b) / (n - 2)) for i, a in e(xs) for b in xs[:i]))
if k >= 3:
    q = len(pair_sums := sorted(((a + b, a, b) for i, a in e(xs) for b in xs[:i]), key=lambda t: t[0])) - 1
    m = min(m, *(abs(goal - (s - a - find_pair(s - a - goal * (n - 3), (a,))) / (n - 3)) for a in xs))
if k >= 4: m = min(m, *(abs(goal - (s - a - b - find_pair(s - a - b - goal * (n - 4), (a, b))) / (n - 4))
                        for i, a in e(xs) for b in xs[:i]))
print(m)
