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