gx,gy,n,cc=gets.split.map &:to_i h={} hh={} n.times do g=gets.split.map &:to_i h.each do |e,v| if (gg0=e[0]+g[0])<=gx && (gg1=e[1]+g[1])<=gy gg2=[gg0,gg1] if hh[gg2] hh[gg2]=g[2]+v if hh[gg2]>g[2]+v else hh[gg2]=g[2]+v end end end hh[[g[0],g[1]]]=g[2] h=hh.dup end x=gx+gy c=x*cc h.each do |e,v| g=v+(x-e[0]-e[1])*cc c=g if c>g end p c