#include #include using ll = long long; #define MOD 1000000007 #define Mod 998244353 const int MAX = 1000000005; const long long INF = 1000000000000000005LL; using namespace std; using namespace atcoder; int main() { ios::sync_with_stdio(0);cin.tie(); int N, M; cin >> N >> M; vector A(N), B(M), C(N); for (int i = 0; i < N; i++) cin >> A[i]; for (int i = 0; i < M; i++) cin >> B[i]; for (int i = 0; i < N; i++) cin >> C[i]; map mp; ll total = 0; for (int i = 0; i < N; i++) { mp[A[i] - total] += C[i]; total += B[i % M]; } ll sum = 0, ans = INF; for (int i = 0; i < N; i++) sum += C[i]; for (auto [key, val] : mp) { ans = min(ans, sum - val); } cout << ans << endl; }