eval"N,T,*A="+gets(p).split*?, d=*[p]*N-=2,e=[p]*T+[1] N.times{|i|d[N+~i]=e=(0..T).map{|j|e[j+b=A[~i]]||e[j*b]}} v,*a=A a.zip(d){|b,e|putc (j=e[v+=b])??+:?**v=b*=v-b}