#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,l,r,a[30000000],m[30000000],mx=-0x3f3f3f3f,q[30000000],head=1,tail=1;
int main() {
scanf("%lld %lld %lld",&n,&l,&r);
for(ll i=0; i<=n; i++)
scanf("%lld",&a[i]);
for(ll i=l; i<=n; i++) {
while(head<=tail&&m[q[tail]]<=m[i-l])
tail--;
q[++tail]=i-l;
while(q[head]+r<i)
head++;
m[i]=m[q[head]]+a[i];
}
for(ll i=n+1-r; i<=n; i++)
mx=max(mx,m[i]);
printf("%lld\n",mx);
return 0;
}