N, W = map(int, input().split()) X = list(map(int, input().split())) Y = list(map(int, input().split())) l = [0] * (2 * 10**5 + 1) for x, y in zip(X, Y): i = 1 # print(x) while i * i <= x: if x % i == 0: l[i] += y l[x // i] += y i += 1 max_l = -1 for i in range(W + 1, len(l)): if max_l < l[i]: max_l = l[i] print(max_l) # print(l)