#include <algorithm>#include <iostream>#include <cstring>#include <iomanip>#include <cstdlib>#include <string>#include <vector>#include <cstdio>#include <cmath>#include <map>using namespace std;int n, p;long long x[100001];long long s[100001];int maxDist, maxDay;long long c(int L, int R){ return s[R] - s[L-1];}long long solve(){ long long ret = 0; s[0] = 0; for(int i = 1; i <= n; i++) s[i] = s[i-1] + x[i]; for(int i = 1; i <= p; i++) { int dayUse = p - i; if(dayUse > maxDay) continue; int rightMost = p + min(maxDist / 2, dayUse); int rightPos = min(i + maxDist, p + dayUse); int r = min(n, max(rightMost, rightPos + (maxDay - dayUse))); ret = max(ret, c(i, r)); } return ret;}int MAIN(){ while(cin >> n >> p) { for(int i = 1; i <= n; i++) cin >> x[i]; cin >> maxDist >> maxDay; long long ans = solve(); for(int i = 1; i+i <= n; i++) swap(x[i], x[n+1-i]); p = n+1-p; ans = max(ans, solve()); cout << ans << endl; } return 0;}int main(){ cout << fixed << setprecision(16); ios :: sync_with_stdio(false); return MAIN();}


