N = int(input()) stickList = list(map(int,input().split())) KList = list(map(int,input().split())) def countCuttedSticks(stickList, cutLength): count = 0 for stick in stickList: count += stick // cutLength return count def main(): for K in KList: low = 0 high = max(stickList) if countCuttedSticks(stickList, high) == K: print(high) else: previousAns = -1 while(high - low >= 10 ** -8): ans = (low + high) / 2 if countCuttedSticks(stickList, ans) >= K: # 本数を少なくするために切る長さを長くする low = ans else: # 本数を多くするために切る長さを短くする high = ans print(ans) if __name__ == '__main__': main()