#!/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()