gets f=->s,a{x,y,z,w=a s+=[z.to_i+x=x.to_i,x+w=w.to_i,y.to_i+w].max w>0?f[s,a[4,$$]]:s} p f[gets.split,0]