#include #include using namespace std; using namespace atcoder; using ll=long long; using ull=unsigned long long; using ld=long double; using i128=__int128; using P=pair; template using vc=vector; template using vv=vc>; using vl=vc; using vvl=vc>; using vul=vc; using vs=vc; using vb=vc; #define rep(i,s,n) for(ll i=s;i<(n);i++) #define Rep(i,s,n) for(ll i=n;i>=s;i--) #define nall(x) x.begin(),x.end() #define rall(a) a.rbegin(),a.rend() #define pb push_back #define eb emplace_back #define pob pop_back #define nexp(v) next_permutation(v) #define prep(v) prev_permutation(v) #define YES cout<<"Yes"<b)a=b;} void chmax(ll &a,ll b){if(a> r >> p >> q >> a >> b >> c >> d; vl v={a,b,c}; sort(nall(v)); ll ans=0,sum=0; rep(i,0,4){ ll l=(i==0?0:v[i-1]),h=(i==3?(a+b+c+d)/3:min((a+b+c+d)/3,v[i])); if(l<=h){ ll k=(r+q*sum)/(p+q*i); chmin(k,h); if(k>=l)chmax(ans,k); } if(i<3)sum+=v[i]; } cout << ans << endl; }