import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int c = sc.nextInt();
int n = sc.nextInt();
int[] weight = new int[n];
int[] value = new int[n];
int[] numbers = new int[n];
for (int i = 0;i < n;i++) {
weight[i] = sc.nextInt();
}
for (int i = 0;i < n;i++) {
value[i] = sc.nextInt();
}
for (int i = 0;i < n;i++) {
numbers[i] = sc.nextInt();
}
int[] dp = new int[c+1];
for (int i = 0;i < n;i++) {
for (int j = c;j >= weight[i];j--) {
for (int k = 1;k <= numbers[i] && (j - k * weight[i]) >= 0;k++) {
dp[j] = Math.max(dp[j],dp[j-weight[i] * k]+ k * value[i]);
}
}
}
System.out.println(dp[c]);
}
}