import sys def solve() -> None: data = list(map(int, sys.stdin.buffer.read().split())) if not data: return it = iter(data) N = next(it) W = next(it) X = [next(it) for _ in range(N)] Y = [next(it) for _ in range(N)] M = max(X) sum_by_weight = [0] * (M + 1) for x, y in zip(X, Y): sum_by_weight[x] += y ans = 0 if W <= M: m_plus_1 = M + 1 arr = sum_by_weight for d in range(W, m_plus_1): s = 0 for multiple in range(d, m_plus_1, d): s += arr[multiple] if s > ans: ans = s print(ans) if __name__ == "__main__": solve()