import bisect def main(): import sys input = sys.stdin.read data = input().split() idx = 0 N = int(data[idx]) idx += 1 L = list(map(int, data[idx:idx+N])) idx += N Q = int(data[idx]) idx += 1 Ks = list(map(int, data[idx:idx+Q])) L.sort() max_L = L[-1] eps = 1e-12 results = [] for K in Ks: low = 0.0 high = max_L for _ in range(100): mid = (low + high) / 2 if mid == 0: s = float('inf') else: s = 0 for li in L: if li >= mid: s += li // mid if s >= K: low = mid else: high = mid results.append(low) for res in results: print("{0:.15f}".format(res)) if __name__ == '__main__': main()