#!/usr/bin/env python3 # -*- coding: utf-8 -*- import array import math def compute_max_length(n, ls, k): if k == 1: return max(ls) eps = 10.0 ** (-10) high = 10.0 ** 9 low = eps while high - low > eps and (high - low) / low > eps: mid = (high + low) / 2 num_of_sticks = sum(math.floor(l / mid) for l in ls) if num_of_sticks >= k: low = mid else: high = mid return (high + low) / 2 def main(): n = int(input()) ls = array.array("L", map(int, input().split())) k = int(input()) print("{:.16f}".format(compute_max_length(n, ls, k))) if __name__ == '__main__': main()