N = int(input()) L = list(map(int,input().split())) K = int(input()) left = 0 right = 10**10 + 1 ans = 0 def search(mid,K,L): count = 0 for i in range(N): if(L[i] >= mid): count += L[i] // mid if(count >= K): return True for i in range(100): mid = (left + right) / 2 if(search(mid,K,L)): left = mid ans = max(ans,mid) else: right = mid print(ans)