#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define INF (1<<29) #define rep(i,n) for(int i=0;i<(int)(n);i++) #define all(v) v.begin(),v.end() #define uniq(v) v.erase(unique(all(v)),v.end()) #define indexOf(v,x) (find(all(v),x)-v.begin()) int s[1500],t[1500],y[1500],m[1500]; int dp[301][50]; int main(){ int n,c,v; cin>>n>>c>>v; rep(i,v)cin>>s[i],s[i]--; rep(i,v)cin>>t[i],t[i]--; rep(i,v)cin>>y[i]; rep(i,v)cin>>m[i]; fill(dp[0],dp[301],INF); dp[0][0]=0; int ans=-1; rep(i,c)rep(j,n){ int d=dp[i][j]; rep(k,v){ if(j==s[k]&&i+y[k]<=c&&d+m[k]