#include <bits/stdc++.h>
#define x first
#define y second
// #define int long long
#define LL long long
#define IOS ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)
using namespace std;
typedef pair<int, int> PII;
const int N = 110;
int t, w[N], n;
PII q[N];
signed main()
{
IOS;
cin >> n >> t;
//一共有t段时间(五分钟为一段)
t *= 12;
//数据读入
for (int i = 1; i <= n; i ++ ) cin >> q[i].x;
for (int i = 1; i <= n; i ++ ) cin >> q[i].y;
for (int i = 1; i < n; i ++ ) cin >> w[i];
int maxn = 0;
//枚举以那个池塘为终点
for (int i = 1; i <= n; i ++ )
{
priority_queue<PII> heap;
int sum = 0;
int tmp = t;
for (int j = 1; j <= i; j ++ ) heap.push({q[j].x, q[j].y}); //将每个池塘的初始状态入队
for (int j = 1; j < i; j ++ ) tmp -= w[j]; //减去走路的时间
for (int j = 1; j <= tmp; j ++ ) //看tmp段时间最多能钓多少鱼
{
auto t = heap.top();
heap.pop();
if (t.x <= 0) break;
sum += t.x;
heap.push({t.x - t.y, t.y});
}
maxn = max(maxn, sum);
}
cout << maxn << endl;
return 0;
}