ll@n,@W,@(v,w)[n],o=0; if(W>2d6){ ll a=0; rep(i,n){ if(v[i]*w[a]>v[a]*w[i]){ a=i; } } ll b=(W-2d6)/w[a]; o+=v[a]*b; W-=w[a]*b; } ll d[W+1]{}; rep(i,n){ rep(j,w[i],W+1){ d[j]>?=d[j-w[i]]+v[i]; } } wt(o+d[W]);