#include #define CSP2026 using #define RP namespace #define PLUSPLUS std CSP2026 RP PLUSPLUS; #define debug(x) cout<<"clock="<>1 void push_up(int x){a[x]=max(a[ls],a[rs]);} void update(int x,int l,int r,int k,int v){ if(l==r)a[x]=v; else{ im; if(k<=mid)update(ls,l,mid,k,v); else update(rs,mid+1,r,k,v); push_up(x); } }ll query(int x,int l,int r,int L,int R){ if(L<=l&&r<=R)return a[x]; else{ im; ll ans=LLONG_MIN; if(L<=mid)ans=max(ans,query(ls,l,mid,L,R)); if(R>mid)ans=max(ans,query(rs,mid+1,r,L,R)); return ans; } } }ds; int a[N]; ll f[N],sum[N]; signed main(){ int n=rd(),B=rd(),C=rd(); // cout<=2)f[i]=a[i]+f[i-2]; if(i>=3&&B>=3)f[i]=a[i]+max(f[i-2],f[i-3]); if(C>=3)f[i]=max(f[i],sum[i]+ds.query(1,0,n,max(i-C+2,0),i-1)); // cout<