#include #include using namespace std; using ll=long long; ll inf=1e18; ll op(ll a,ll b){return max(a,b);} ll e(){return -inf;} int main(){ int n,b,c; cin>>n>>b>>c; vector a(n); vector sum(n+1); for (int i=0;i>a[i],sum[i+1]=sum[i]+a[i]; atcoder::segtree seg1(n+1),seg2(n+1); seg1.set(0,0); for (int i=1;i<=n;i++){ ll p1=seg2.prod(max(0,i-b+1),i); ll p2=seg1.prod(max(0,i-c+1),i); if (i