#include<bits/stdc++.h>
using namespace std;
int main(){
int n ; cin>>n;
vector<int>arr(n);
for(int i = 0 ; i <n ; i++){
cin>>arr[i];
}
vector<int>prefix(n); // declare a prefix array
prefix[0]=arr[0];
for(int i =1 ; i< n ; i++){
prefix[i]=prefix[i-1]+arr[i];
}
vector<int>suffix(n);
suffix[n-1]=arr[n-1];
for(int i = n-2; i>=0;i--){
suffix[i]=suffix[i+1]+arr[i];
}
int b; cin>>b ;
int max_sum =INT_MIN;
for(int k = 0 ; k<=b;k++){
int sum = 0;
if(k==0) sum = suffix[n-(b-k)];
else sum = prefix[k-1] + suffix[n-(b-k)];
max_sum=max(max_sum,sum);
}
cout<<max_sum;
return 0 ;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCl7CglpbnQgbiA7IGNpbj4+bjsKCXZlY3RvcjxpbnQ+YXJyKG4pOwoJZm9yKGludCBpID0gMCA7IGkgPG4gOyBpKyspewoJCWNpbj4+YXJyW2ldOwoJfQoJdmVjdG9yPGludD5wcmVmaXgobik7IC8vIGRlY2xhcmUgYSBwcmVmaXggYXJyYXkgCglwcmVmaXhbMF09YXJyWzBdOwoJZm9yKGludCBpID0xIDsgaTwgbiA7IGkrKyl7CgkJcHJlZml4W2ldPXByZWZpeFtpLTFdK2FycltpXTsKCX0KCXZlY3RvcjxpbnQ+c3VmZml4KG4pOwoJc3VmZml4W24tMV09YXJyW24tMV07Cglmb3IoaW50IGkgPSBuLTI7IGk+PTA7aS0tKXsKCQlzdWZmaXhbaV09c3VmZml4W2krMV0rYXJyW2ldOwoJfQoJaW50IGI7IGNpbj4+YiA7CiAgICBpbnQgbWF4X3N1bSA9SU5UX01JTjsKCWZvcihpbnQgayA9IDAgOyBrPD1iO2srKyl7CgkJaW50IHN1bSA9IDA7IAoJCWlmKGs9PTApIHN1bSA9IHN1ZmZpeFtuLShiLWspXTsKCQllbHNlIHN1bSA9IHByZWZpeFtrLTFdICsgc3VmZml4W24tKGItayldOwoJCW1heF9zdW09bWF4KG1heF9zdW0sc3VtKTsKCX0KCQogICAgCgljb3V0PDxtYXhfc3VtOwoJcmV0dXJuIDAgOyAKfQoK