#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=2*1e5+100;
int n,l,r;
int a[N],f[N],q[N],head=1,tail=0;
int main(){
int maxx=-0x3f3f3f3f;
cin>>n>>l>>r;
memset(f,-0x3f,sizeof f);
f[0]=0;
for(int i=0;i<=n;i++) cin>>a[i];
for(int i=l;i<=n;i++){
while(i-q[head]>r&&head<=tail)head++;
while(f[i-l]>f[q[tail]]&&head<=tail)tail--;
q[++tail]=i-l;
f[i]=f[q[head]]+a[i];
}
for(int i=n-r+1;i<=n;i++) maxx=max(maxx,f[i]);
cout<<maxx<<endl;
return 0;
}