#include #include using namespace std; using namespace atcoder; #define ll long long #define rep(i,a,b) for(int i=(a);i<(b);i++) #define repl(i,a,b) for(ll i=(a);i<(b);i++) #define all(a) (a).begin(),(a).end() #define rall(a) (a).rbegin(),(a).rend() template bool chmin(T &a,T b){if(a>b){a=b;return true;} return false;} template bool chmax(T &a,T b){if(a> n >> w; int m=2e5+1; vector> div(m); rep(i,1,m){ for(int j=i;j x(n); vector y(n); rep(i,0,n) cin >> x[i]; rep(i,0,n) cin >> y[i]; vector dp(m); rep(i,0,n){ for(auto d:div[x[i]]){ chmax(dp[d],dp[x[i]]+y[i]); } } ll ans=0; rep(i,w,m) chmax(ans,dp[i]); cout << ans << "\n"; return; } int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int T=1; // cin >> T; while(T--) solve(); }