#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
using namespace __gnu_pbds;
#define FAST ios::sync_with_stdio(0), cin.tie(0),cout.tie(0)
#define ll long long
#define ld long double
#define int long long
#define endl "\n"
#define yes cout<<"YES"<<endl;
#define no cout<<"NO"<<endl;
#define pb push_back
using namespace std;
const int MOD = 1e9 + 7;
const ll INF = 1LL << 60;
const int MAXN = 1e6 + 5;
typedef tree<ll, null_type, less<ll>, rb_tree_tag, tree_order_statistics_node_update> indexed_set;
vector<ll> A, B;
int N, M, K;
// Segment Tree for pair<ll, ll> {cost, flights}
template<class T>
struct Seg {
const T ID = {INF, INF};
ll n;
vector<T> seg;
T comb(T a, T b) {
if (a.first != b.first) return min(a, b);
return a.second < b.second ? a : b;
}
void init(ll _n) {
n = _n;
seg.assign(2 * n, ID);
}
void pull(ll p) { seg[p] = comb(seg[2 * p], seg[2 * p + 1]); }
void upd(ll p, T val) {
seg[p += n] = val;
for (p /= 2; p; p /= 2) pull(p);
}
T query(ll l, ll r) {
T ra = ID, rb = ID;
for (l += n, r += n + 1; l < r; l /= 2, r /= 2) {
if (l & 1) ra = comb(ra, seg[l++]);
if (r & 1) rb = comb(seg[--r], rb);
}
return comb(ra, rb);
}
};
pair<ll, ll> work(ll lambda) {
vector<ll> dp(N + 1, INF), flight(N + 1, INF);
Seg<pair<ll, ll>> seg;
seg.init(N + 5);
dp[1] = 0;
flight[1] = 0;
seg.upd(1, {dp[1] + B[1], 0});
for (int i = 2; i <= N; i++) {
ll c1 = dp[i - 1] + A[i - 1];
ll f1 = flight[i - 1];
pair<ll, ll> aux = seg.query(max(1LL, i - K), i - 1);
ll c2 = aux.first + B[i] + lambda;
ll f2 = aux.second + 1;
if (c1 <= c2) {
dp[i] = c1;
flight[i] = f1;
} else {
dp[i] = c2;
flight[i] = f2;
}
seg.upd(i, {dp[i] + B[i], flight[i]});
}
return {dp[N], flight[N]};
}
void solve() {
cin >> N >> M >> K;
A.resize(N);
B.resize(N + 1);
for (int i = 1; i <= N - 1; i++) {
cin >> A[i];
}
for (int i = 1; i <= N; i++) {
cin >> B[i];
}
if (M == 0) {
ll ans = 0;
for (int i = 1; i <= N - 1; i++) {
ans += A[i];
}
cout << ans << endl;
return;
}
auto [c0, u0] = work(0);
if (u0 <= M) {
cout << c0 << endl;
return;
}
ll mn = 1, mx = 2e9, res = -1;
while (mn <= mx) {
ll mid = mn + (mx - mn) / 2;
auto [c, f] = work(mid);
if (f > M) {
mn = mid + 1;
}
else {
res = mid;
mx = mid - 1;
}
}
auto [c, f] = work(res);
cout << f - res * M << endl;
}
signed main() {
FAST;
auto begin = std::chrono::high_resolution_clock::now();
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
ll t = 1;
//cin >> t;
while (t--) solve();
#ifndef ONLINE_JUDGE
auto end = std::chrono::high_resolution_clock::now();
cout << setprecision(4) << fixed;
cout << "Execution time: " << std::chrono::duration_cast<std::chrono::duration<double>>(end - begin).count()
<< " seconds" << endl;
#endif
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNpbmNsdWRlIDxleHQvcGJfZHMvYXNzb2NfY29udGFpbmVyLmhwcD4KCnVzaW5nIG5hbWVzcGFjZSBfX2dudV9wYmRzOwojZGVmaW5lIEZBU1QgaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCksIGNpbi50aWUoMCksY291dC50aWUoMCkKI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBsZCBsb25nIGRvdWJsZQojZGVmaW5lIGludCBsb25nIGxvbmcKI2RlZmluZSBlbmRsICJcbiIKI2RlZmluZSB5ZXMgY291dDw8IllFUyI8PGVuZGw7CiNkZWZpbmUgbm8gY291dDw8Ik5PIjw8ZW5kbDsKI2RlZmluZSBwYiBwdXNoX2JhY2sKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY29uc3QgaW50IE1PRCA9IDFlOSArIDc7CmNvbnN0IGxsIElORiA9IDFMTCA8PCA2MDsKY29uc3QgaW50IE1BWE4gPSAxZTYgKyA1Owp0eXBlZGVmIHRyZWU8bGwsIG51bGxfdHlwZSwgbGVzczxsbD4sIHJiX3RyZWVfdGFnLCB0cmVlX29yZGVyX3N0YXRpc3RpY3Nfbm9kZV91cGRhdGU+IGluZGV4ZWRfc2V0OwoKdmVjdG9yPGxsPiBBLCBCOwppbnQgTiwgTSwgSzsKCi8vIFNlZ21lbnQgVHJlZSBmb3IgcGFpcjxsbCwgbGw+IHtjb3N0LCBmbGlnaHRzfQp0ZW1wbGF0ZTxjbGFzcyBUPgpzdHJ1Y3QgU2VnIHsKICAgIGNvbnN0IFQgSUQgPSB7SU5GLCBJTkZ9OwogICAgbGwgbjsKICAgIHZlY3RvcjxUPiBzZWc7CiAgICBUIGNvbWIoVCBhLCBUIGIpIHsKICAgICAgICBpZiAoYS5maXJzdCAhPSBiLmZpcnN0KSByZXR1cm4gbWluKGEsIGIpOwogICAgICAgIHJldHVybiBhLnNlY29uZCA8IGIuc2Vjb25kID8gYSA6IGI7CiAgICB9CiAgICB2b2lkIGluaXQobGwgX24pIHsKICAgICAgICBuID0gX247CiAgICAgICAgc2VnLmFzc2lnbigyICogbiwgSUQpOwogICAgfQogICAgdm9pZCBwdWxsKGxsIHApIHsgc2VnW3BdID0gY29tYihzZWdbMiAqIHBdLCBzZWdbMiAqIHAgKyAxXSk7IH0KCiAgICB2b2lkIHVwZChsbCBwLCBUIHZhbCkgewogICAgICAgIHNlZ1twICs9IG5dID0gdmFsOwogICAgICAgIGZvciAocCAvPSAyOyBwOyBwIC89IDIpIHB1bGwocCk7CiAgICB9CgogICAgVCBxdWVyeShsbCBsLCBsbCByKSB7CiAgICAgICAgVCByYSA9IElELCByYiA9IElEOwogICAgICAgIGZvciAobCArPSBuLCByICs9IG4gKyAxOyBsIDwgcjsgbCAvPSAyLCByIC89IDIpIHsKICAgICAgICAgICAgaWYgKGwgJiAxKSByYSA9IGNvbWIocmEsIHNlZ1tsKytdKTsKICAgICAgICAgICAgaWYgKHIgJiAxKSByYiA9IGNvbWIoc2VnWy0tcl0sIHJiKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGNvbWIocmEsIHJiKTsKICAgIH0KfTsKCnBhaXI8bGwsIGxsPiB3b3JrKGxsIGxhbWJkYSkgewogICAgdmVjdG9yPGxsPiBkcChOICsgMSwgSU5GKSwgZmxpZ2h0KE4gKyAxLCBJTkYpOwogICAgU2VnPHBhaXI8bGwsIGxsPj4gc2VnOwogICAgc2VnLmluaXQoTiArIDUpOwogICAgZHBbMV0gPSAwOwogICAgZmxpZ2h0WzFdID0gMDsKICAgIHNlZy51cGQoMSwge2RwWzFdICsgQlsxXSwgMH0pOwogICAgZm9yIChpbnQgaSA9IDI7IGkgPD0gTjsgaSsrKSB7CiAgICAgICAgbGwgYzEgPSBkcFtpIC0gMV0gKyBBW2kgLSAxXTsKICAgICAgICBsbCBmMSA9IGZsaWdodFtpIC0gMV07CiAgICAgICAgcGFpcjxsbCwgbGw+IGF1eCA9IHNlZy5xdWVyeShtYXgoMUxMLCBpIC0gSyksIGkgLSAxKTsKICAgICAgICBsbCBjMiA9IGF1eC5maXJzdCArIEJbaV0gKyBsYW1iZGE7CiAgICAgICAgbGwgZjIgPSBhdXguc2Vjb25kICsgMTsKICAgICAgICBpZiAoYzEgPD0gYzIpIHsKICAgICAgICAgICAgZHBbaV0gPSBjMTsKICAgICAgICAgICAgZmxpZ2h0W2ldID0gZjE7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgZHBbaV0gPSBjMjsKICAgICAgICAgICAgZmxpZ2h0W2ldID0gZjI7CiAgICAgICAgfQogICAgICAgIHNlZy51cGQoaSwge2RwW2ldICsgQltpXSwgZmxpZ2h0W2ldfSk7CiAgICB9CiAgICByZXR1cm4ge2RwW05dLCBmbGlnaHRbTl19Owp9Cgp2b2lkIHNvbHZlKCkgewogICAgY2luID4+IE4gPj4gTSA+PiBLOwogICAgQS5yZXNpemUoTik7CiAgICBCLnJlc2l6ZShOICsgMSk7CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBOIC0gMTsgaSsrKSB7CiAgICAgICAgY2luID4+IEFbaV07CiAgICB9CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBOOyBpKyspIHsKICAgICAgICBjaW4gPj4gQltpXTsKICAgIH0KICAgIGlmIChNID09IDApIHsKICAgICAgICBsbCBhbnMgPSAwOwogICAgICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IE4gLSAxOyBpKyspIHsKICAgICAgICAgICAgYW5zICs9IEFbaV07CiAgICAgICAgfQogICAgICAgIGNvdXQgPDwgYW5zIDw8IGVuZGw7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgIGF1dG8gW2MwLCB1MF0gPSB3b3JrKDApOwogICAgaWYgKHUwIDw9IE0pIHsKICAgICAgICBjb3V0IDw8IGMwIDw8IGVuZGw7CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgbGwgbW4gPSAxLCBteCA9IDJlOSwgcmVzID0gLTE7CiAgICB3aGlsZSAobW4gPD0gbXgpIHsKICAgICAgICBsbCBtaWQgPSBtbiArIChteCAtIG1uKSAvIDI7CiAgICAgICAgYXV0byBbYywgZl0gPSB3b3JrKG1pZCk7CiAgICAgICAgaWYgKGYgPiBNKSB7CiAgICAgICAgICAgIG1uID0gbWlkICsgMTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIHJlcyA9IG1pZDsKICAgICAgICAgICAgbXggPSBtaWQgLSAxOwogICAgICAgIH0KICAgIH0KICAgIGF1dG8gW2MsIGZdID0gd29yayhyZXMpOwogICAgY291dCA8PCBmIC0gcmVzICogTSA8PCBlbmRsOwp9CgpzaWduZWQgbWFpbigpIHsKICAgIEZBU1Q7CiAgICBhdXRvIGJlZ2luID0gc3RkOjpjaHJvbm86OmhpZ2hfcmVzb2x1dGlvbl9jbG9jazo6bm93KCk7CiNpZm5kZWYgT05MSU5FX0pVREdFCiAgICBmcmVvcGVuKCJpbnB1dC50eHQiLCAiciIsIHN0ZGluKTsKICAgIGZyZW9wZW4oIm91dHB1dC50eHQiLCAidyIsIHN0ZG91dCk7CiNlbmRpZgogICAgbGwgdCA9IDE7CiAgICAvL2NpbiA+PiB0OwogICAgd2hpbGUgKHQtLSkgc29sdmUoKTsKI2lmbmRlZiBPTkxJTkVfSlVER0UKICAgIGF1dG8gZW5kID0gc3RkOjpjaHJvbm86OmhpZ2hfcmVzb2x1dGlvbl9jbG9jazo6bm93KCk7CiAgICBjb3V0IDw8IHNldHByZWNpc2lvbig0KSA8PCBmaXhlZDsKICAgIGNvdXQgPDwgIkV4ZWN1dGlvbiB0aW1lOiAiIDw8IHN0ZDo6Y2hyb25vOjpkdXJhdGlvbl9jYXN0PHN0ZDo6Y2hyb25vOjpkdXJhdGlvbjxkb3VibGU+PihlbmQgLSBiZWdpbikuY291bnQoKQogICAgICAgICA8PCAiIHNlY29uZHMiIDw8IGVuZGw7CiNlbmRpZgp9