#!ruby -n a=[0] gsub(/./){a=[*[a.flat_map{|n|[n-1,n+1]},a[1..-1],a[0..-2],a.inject(0,:+),a.inject(1,:*)]["v<>^/".index$&]]} p a