eval"N,T,*A="+gets(p).split*?, d=(0..N-=1).map{[]} N.downto(d[N][T]=1){|i|1.upto(T){|j|d[i-1][j]=d[i][j+A[i]]||d[i][j*A[i]]}} v,=A 1.upto(N){|i|putc (f=d[i][N=v+A[i]])??+:?*;v=f ?N: v*A[i]}