#include <iostream>
#include <stdio.h>

using namespace std;
int d[100];
int x[100];
int sume[100];
int suma(int i,int t,int s)
{if(t<0) return s;
if(t==0) return s+sume[i];
else suma(x[i],t-d[i],s+sume[i]);

}
int main()
{int n,t,s=0,maks;
scanf("%d%d",&n,&t);
for(int i=1;i<n+1;i++)
{
    scanf("%d",&sume[i]);
}
for(int i=1;i<n+1;i++)
{
    scanf("%d",&x[i]);
}
for(int i=1;i<n+1;i++)
{
    scanf("%d",&d[i]);
}
maks=suma(1,t,0);

for(int i=2;i<n+1;i++)
{ s=suma(i,t,0);
if(s>maks) maks=s;


}
printf("%d",maks);

    return 0;
}