#include <iostream>

using namespace std;
int izracunaj(int x[],int k,int n,int t,int o[])
{
    if(t==0)return 0;
    for(int i=0;i<n;i++)
    {
       if(x[i]==k){k=i;break;}
    }
    return izracunaj(x,k,n,t-1,o)+o[k];
}
int main()
{
ios::sync_with_stdio(false);
    cin.tie(0);

    int n,t;
    cin>>n>>t;
    int o[n];
    for(int i=0;i<n;i++)
    {
        cin>>o[i];
    }
    int x[n];
    for(int i=0;i<n;i++)
    {
        cin>>x[i];
    }
    int d[n];
    for(int i=0;i<n;i++)
    {
        cin>>d[i];
    }
    int max1=0;
    for(int i=0;i<n;i++)
    {
       if(max1<izracunaj(x,i,n,t,o)) max1=izracunaj(x,i,n,t,o);
    }
    cout<<max1;
    return 0;
}