n=gets.to_i l=gets.to_i m=gets.to_i a=gets.split.map &:to_i b=gets.split.map &:to_i c=gets.split.map &:to_i d=gets.split.map &:to_i z=9**9 f=(0..n).map{[z]*(l+1)} f[1][0]=0 n.times{ m.times{|i| c[i].upto(l){|x| f[b[i]][x]=[f[b[i]][x],f[a[i]][x-c[i]]+d[i]].min } } } r=f[n].min p r