#!/usr/bin/env python3 from bisect import bisect def find_pair(target, used): i = min(q, bisect(ps, (target, 0))) # This only checks the overlap for ps[i], not for ps[i-1] return [1e14] if i < 0 or any(t in used for t in ps[i][1:]) else (p[0] for p in ps[max(0, i - 1):i + 1]) (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(ps := 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 - p) / (n - 3)) for a in xs for p in find_pair(s - a - goal * (n - 3), (a,)))) if k >= 4: m = min(m, *(abs(goal - (s - a - b - p) / (n - 4)) for i, a in e(xs) for b in xs[:i] for p in find_pair(s - a - b - goal * (n - 4), (a, b)))) print(m)