n,c=(1..3).map{gets.to_i} l=(0..n).map{{}} l[1][0]=0 (1..4).map{gets.split.map &:to_i}.transpose.sort.map{|s,t,y,m| l[s].map{|k,v|k+y>c||l[t][k+y]=[l[t][k+y]||1e9,v+m].min} } p l[n].values.min||-1