#include #define rep(i,n) for(int i=0;i<(n);++i) using namespace std; using ll = long long; int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int n,m; cin >> n >> m; vectora(n),b(n-1),c(n); rep(i,n) cin >> a[i]; rep(i,m) cin >> b[i]; rep(i,n) cin >> c[i]; rep(i,n-1) b[i] = b[i%m]; vector d(n,0); rep(i,n-1) d[i+1] += d[i]+b[i]; vector e(n,0); rep(i,n){ e[i] = d[i]-a[i]; } map mp; rep(i,n) mp[e[i]]+=c[i]; ll sum = 0; rep(i,n) sum += c[i]; ll ans = 1e18; for(auto [x,y]:mp){ ans = min(ans,sum-y); } cout << ans << endl; }