import sys ni = lambda :int(input()) na = lambda :list(map(int,input().split())) yes = lambda :print("yes");Yes = lambda :print("Yes");YES = lambda : print("YES") no = lambda :print("no");No = lambda :print("No");NO = lambda : print("NO") ##################################################################### """ 12 n = 2 は gcd(X) >= W """ m = 2 * 10 ** 5 + 100 n, w = na() x = na() y = na() f = [0] * m for i in range(n): f[x[i]] += y[i] for i in range(1, m): for j in range(i * 2, m, i): f[i] += f[j] # print(f) ans = 0 for i in range(w, m): ans = max(ans, f[i]) print(ans)