//#define _GLIBCXX_DEBUG #include using namespace std; #define rep(i, n) for (ll i = 0; i < (ll)(n); i++) #define all(a) (a).begin(), (a).end() using ll = long long; const ll INF32 = 2e9; const ll INF64 = 4e18; void printYN(bool ok){ if(ok)cout << "Yes" << endl; else cout << "No" << endl; return; } bool check(ll mid,ll R, ll P, ll Q, ll A, ll B, ll C, ll D){ R -= mid*P; ll E = max(0LL, A-mid)+max(0LL, B-mid)+max(0LL, C-mid); ll F = max(0LL, mid-A)+max(0LL, mid-B)+max(0LL, mid-C); if(D+E=0; } int main() { ll R, P, Q; cin >> R >> P >> Q; ll A, B, C, D; cin >> A >> B >> C >> D; ll ok = 0, ng = 1e10; while(ng-ok>1){ ll mid = (ok+ng)/2; if(check(mid, R,P, Q, A, B, C, D))ok = mid; else ng = mid; } cout << ok << endl; return 0; }