#include <bits/stdc++.h>
using namespace std;
int main() {
int N, K, X, A[100001];
long long B[100001];
cin >> N >> K >> X;
for(int i = 0; i < N; i++)
cin >> A[i];
for(int i = 0; i < N; i++) {
cin >> B[i];
if(i > 0)
B[i] += B[i-1];
}
int start = lower_bound(A, A+N, X)-A;
long long ans = 0;
int right = start, left = 0;
// cout << start << endl;
while(right < N && A[right]-X <= K) {
while(2*A[right]-K-X > A[left])
left++;
long long cand = B[right];
if(start > left) {
if(left > 0) cand -= B[left-1];
}
else {
if(start > 0) cand -= B[start-1];
}
ans = max(ans, cand);
// cout << left << " " << right << " " << cand << endl;
right++;
}
right = N-1; left = start-1;
while(left >= 0 && X-A[left] <= K) {
while(2*A[left]+K-X < A[right])
right--;
long long cand = (start-1 > right ? B[start-1] : B[right]);
if(left > 0) cand -= B[left-1];
ans = max(ans, cand);
// cout << left << " " << right << " " << cand << endl;
left--;
}
cout << ans << endl;
return 0;
}
/*
10 67 25
0 7 19 23 32 34 69 92 101 123
23 64 56 26 43 35 72 55 14 25
*/
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCWludCBOLCBLLCBYLCBBWzEwMDAwMV07Cglsb25nIGxvbmcgQlsxMDAwMDFdOwoJY2luID4+IE4gPj4gSyA+PiBYOwoJZm9yKGludCBpID0gMDsgaSA8IE47IGkrKykKCQljaW4gPj4gQVtpXTsKCWZvcihpbnQgaSA9IDA7IGkgPCBOOyBpKyspIHsKCQljaW4gPj4gQltpXTsKCQlpZihpID4gMCkKCQkJQltpXSArPSBCW2ktMV07Cgl9CglpbnQgc3RhcnQgPSBsb3dlcl9ib3VuZChBLCBBK04sIFgpLUE7Cglsb25nIGxvbmcgYW5zID0gMDsKCWludCByaWdodCA9IHN0YXJ0LCBsZWZ0ID0gMDsKCS8vIGNvdXQgPDwgc3RhcnQgPDwgZW5kbDsKCXdoaWxlKHJpZ2h0IDwgTiAmJiBBW3JpZ2h0XS1YIDw9IEspIHsKCQl3aGlsZSgyKkFbcmlnaHRdLUstWCA+IEFbbGVmdF0pCgkJCWxlZnQrKzsKCQlsb25nIGxvbmcgY2FuZCA9IEJbcmlnaHRdOwoJCWlmKHN0YXJ0ID4gbGVmdCkgewoJCQlpZihsZWZ0ID4gMCkgY2FuZCAtPSBCW2xlZnQtMV07CgkJfQoJCWVsc2UgewoJCQlpZihzdGFydCA+IDApIGNhbmQgLT0gQltzdGFydC0xXTsKCQl9CgkJYW5zID0gbWF4KGFucywgY2FuZCk7CgkJLy8gY291dCA8PCBsZWZ0IDw8ICIgIiA8PCByaWdodCA8PCAiICIgPDwgY2FuZCA8PCBlbmRsOwoJCXJpZ2h0Kys7Cgl9CglyaWdodCA9IE4tMTsgbGVmdCA9IHN0YXJ0LTE7Cgl3aGlsZShsZWZ0ID49IDAgJiYgWC1BW2xlZnRdIDw9IEspIHsKCQl3aGlsZSgyKkFbbGVmdF0rSy1YIDwgQVtyaWdodF0pCgkJCXJpZ2h0LS07CgkJbG9uZyBsb25nIGNhbmQgPSAoc3RhcnQtMSA+IHJpZ2h0ID8gQltzdGFydC0xXSA6IEJbcmlnaHRdKTsKCQlpZihsZWZ0ID4gMCkgY2FuZCAtPSBCW2xlZnQtMV07CgkJYW5zID0gbWF4KGFucywgY2FuZCk7CgkJLy8gY291dCA8PCBsZWZ0IDw8ICIgIiA8PCByaWdodCA8PCAiICIgPDwgY2FuZCA8PCBlbmRsOwoJCWxlZnQtLTsKCX0KCWNvdXQgPDwgYW5zIDw8IGVuZGw7CglyZXR1cm4gMDsKfQovKgoxMCA2NyAyNQowIDcgMTkgMjMgMzIgMzQgNjkgOTIgMTAxIDEyMwoyMyA2NCA1NiAyNiA0MyAzNSA3MiA1NSAxNCAyNQoqLw==