#include<bits/stdc++.h>
using namespace std;
int rec(int idx, int x, int y, int z, vector<int>&a)
{
if(idx>=(int)a.size())return 0;
int res=rec(idx+1, x, y, z, a);
if(x>0){
res=max(res, rec(idx+1, x-1, y, z,a)+a[idx]);
}
if(y>0 && idx+1<a.size()){
res=max(res, rec(idx+2, x, y-1, z,a)+a[idx]+a[idx+1]);
}
if(z>0 && idx+2<a.size()){
res=max(res, rec(idx+3, x, y, z-1,a) + a[idx]+a[idx+1]+a[idx+2]);
}
return res;
}
int main(){
int n; cin>>n;
vector<int>a(n);
int x, y,z; cin>>x>>y>>z;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
cout<<rec(0, x, y, z, a);
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IHJlYyhpbnQgaWR4LCBpbnQgeCwgaW50IHksIGludCB6LCB2ZWN0b3I8aW50PiZhKQp7CiAgICAgICAgaWYoaWR4Pj0oaW50KWEuc2l6ZSgpKXJldHVybiAwOwogICAgICAgIGludCByZXM9cmVjKGlkeCsxLCB4LCB5LCB6LCBhKTsKICAgICAgICBpZih4PjApewogICAgICAgICAgICByZXM9bWF4KHJlcywgcmVjKGlkeCsxLCB4LTEsIHksIHosYSkrYVtpZHhdKTsKICAgICAgICB9CiAgICAgICAgaWYoeT4wICYmIGlkeCsxPGEuc2l6ZSgpKXsKICAgICAgICAgICAgcmVzPW1heChyZXMsIHJlYyhpZHgrMiwgeCwgeS0xLCB6LGEpK2FbaWR4XSthW2lkeCsxXSk7CiAgICAgICAgfQogICAgICAgIGlmKHo+MCAmJiBpZHgrMjxhLnNpemUoKSl7CiAgICAgICAgICAgIHJlcz1tYXgocmVzLCByZWMoaWR4KzMsIHgsIHksIHotMSxhKSArIGFbaWR4XSthW2lkeCsxXSthW2lkeCsyXSk7CiAgICAgICAgfQogICAgICAgIHJldHVybiByZXM7CgoKfQppbnQgbWFpbigpewogICBpbnQgbjsgY2luPj5uOwogICB2ZWN0b3I8aW50PmEobik7CiAgIGludCB4LCB5LHo7IGNpbj4+eD4+eT4+ejsKICAgZm9yKGludCBpPTA7aTxuO2krKykKICAgewogICAgICAgY2luPj5hW2ldOwogICB9CiAgIGNvdXQ8PHJlYygwLCB4LCB5LCB6LCBhKTsKfQ==