#include <bits/stdc++.h>   using namespace std;   const int maxn = 5e5 + 5;   int main() {     long long v, w1, w2, v1, v2;     cin >> v >> w1 >> w2 >> v1 >> v2;     long long x = max(v1, v2);     if (x * x >= v) {       if (v1 < v2) swap(v1, v2), swap(w1, w2);       long long ans = 0;       for (int i = 0; i <= v / v1; i++) {         ans = max(ans, i * w1 + (v - i * v1) / v2 * w2);       }       cout << ans << endl;     } else {       if (1.0 * w1 / v1 > 1.0 * w2 / v2) {         swap(v1, v2), swap(w1, w2);       }       long long ans = 0;       for (int i = 0; i < v2; i++) {         ans = max(ans, i * w1 + (v - i * v1) / v2 * w2);       }       cout << ans << endl;     }     return 0;   }   