#include using namespace std; using ll = long long; const ll INF = 1ll << 60; #define REP(i, n) for(ll i =0; i < ll(n); i++) template using V = vector; template bool chmax(A& a, B b) { return a bool chmin(A& a, B b) { return b> n >> w; V x(n), y(n); REP(i, n) cin >> x[i]; REP(i, n) cin >> y[i]; V tbl(200001); REP(i, n) { for(ll d = 1; d*d <= x[i]; d++) { if(x[i]%d) continue; tbl[d] += y[i]; if(d*d < x[i]) tbl[x[i]/d] += y[i]; } } ll ans = 0; REP(i, 200001) { if(i >= w) chmax(ans, tbl[i]); } cout << ans << '\n'; } int main() { cin.tie(0)->sync_with_stdio(0); testcase(); }