def read_data(): N = int(input()) L = list(map(int, input().split())) K = int(input()) return N, L, K N, L, K = read_data() eps = 10**-10 left = max(L) / K right = min (sum(L) / K, max(L)) + eps while right - left > eps: piv = 0 mid = left + (right - left) / 2 for i in range(N): piv += L[i] / mid if piv >= K: left = mid + 1 else: right = mid - 1 print(mid)