// N(20万)段再帰できるかのテスト ll n,a[3d5],r=MD; ll f(ll i,ll w){ if(i==n){ return MD; } ll x=a[i]; ll y=f(i+1,w