#include<iostream>
#include<algorithm>
using namespace std;
int n, m;
int h[1000];
int f[100], d[100], t[100];
int main()
{
cin >> n >> m;
m *= 60;
for(int i = 1; i <= n; i++)cin >> f[i];
for(int i = 1; i <= n; i++)cin >> d[i];
for(int i = 2; i <= n; i++){
int x;
cin >> x;
t[i] = 5 * t[i - 1] + x;
}
for(int i = 1; i <= n; i++){
for(int j = m; j >= t[i]; j--){
h[j] = h[j - t[i] + t[i - 1]];
for(int k = 0; t[i] + 5 * k <= j; k++){
h[j] = max(h[j], h[j - t[i] + t[i - 1] - k * 5] + f[i] * k - k * (k - 1) * d[i] / 2);
}
}
}
cout << h[m];
return 0;
}