#include <bits/stdc++.h>
using namespace std;
map<long long int, long long int> dp;
int k = 0;
long long int func(long long int c, long long int a1, long long int a2,
                   long long int b1, long long int b2) {
  long long int ans = 0, j;
  for (int i = 0; b1 * i <= c && i < 100000; i++) {
    j = (c - (b1 * i)) / b2;
    ans = max(ans, a1 * i + a2 * j);
  }
  for (int i = 0; b2 * i <= c && i < 100000; i++) {
    j = (c - (b2 * i)) / b1;
    ans = max(ans, a2 * i + a1 * j);
  }
  return ans;
}
int main() {
  long long int c, a1, a2, b1, b2;
  cin >> c >> a1 >> a2 >> b1 >> b2;
  cout << func(c, a1, a2, b1, b2);
  return 0;
}
