gets v=gets.split.map &:to_i 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,-1]]:s} p f[v,0]