#include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int N, W; cin >> N >> W; vector X(N); vector Y(N); int MX = 0; for (int i = 0; i < N; i++) { cin >> X[i]; MX = max(MX, X[i]); } for (int i = 0; i < N; i++) { cin >> Y[i]; } vector by_weight(MX + 1, 0); for (int i = 0; i < N; i++) { by_weight[X[i]] += Y[i]; } long long ans = 0; for (int g = W; g <= MX; g++) { long long cur = 0; for (int multiple = g; multiple <= MX; multiple += g) { cur += by_weight[multiple]; } ans = max(ans, cur); } cout << ans << '\n'; return 0; }