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