#include using namespace std; using pii = pair; using ll = long long; const int N = 2000010, MOD = 998244353, INF = 0x3f3f3f3f; int n, m, w[N]; ll f[N], x[N]; int a[N], b[N]; void solve() { scanf("%d%d", &n, &m); for (int i = 1; i < n + 1; i++) scanf("%d", a + i); for (int i = 1; i < n + 1; i++) scanf("%d", b + i), x[a[i]] += b[i]; ll res = 0; for (int i = m; i <= 200000; i++) { ll sum = 0; for (int j = i; j <= 200000; j += i) sum += x[j]; res = max(sum, res); } printf("%lld\n", res); } int main() { int T = 1; // cin >> T; while (T--) solve(); return 0; }