#include using namespace std; int c[15], v[15], dp[10010]; int main() { cin.tie(0); ios::sync_with_stdio(false); int T, n; cin >> T >> n; for (int i = 0; i < n; i++) cin >> c[i]; for (int i = 0; i < n; i++) cin >> v[i]; for (int i = 0; i < n; i++) { for (int j = v[i]; j > 0; j /= 2) { for (int k = T; k >= c[i]; k--) { dp[k] = max(dp[k], dp[k - c[i]] + j); } } } cout << dp[T] << endl; return 0; }