import sys def main(): data=sys.stdin.buffer.read().split() N,W=int(data[0]),int(data[1]) X=list(map(int,data[2:2+N])) Y=list(map(int,data[2+N:2+2*N])) M=max(X) s=[0]*(M+1) for x,y in zip(X,Y):s[x]+=y ans=0 for g in range(W,M+1): t=0 for k in range(g,M+1,g):t+=s[k] if t>ans:ans=t print(ans) main()