#include <bits/stdc++.h>
using namespace std;
int n, a[200005], l, r, dp[200005], c[200005];
int main()
{
cin >> n >> l >> r;
for(int i = 0;i <= n;i++)
{
cin >> a[i];
}
int head = 0, tail = n;
for(int i = l;i <= n;i++)
{
while(dp[c[tail]] <= dp[i - l] && head <= tail)tail--;
c[++tail] = i - l;
while(c[head] < i - r && head <= tail)head++;
dp[i] = dp[c[head]] + a[i];
}
int ans = 0;
for(int i = n - r + 1;i <= n;i++)
{
ans = max(ans, dp[i]);
}
cout << ans;
return 0;
}