#!ruby -pla s,*m=$F.map &:to_i d={} *q=[s,a=[]] s>0&&m.map{|v|d[z=s-v]||=q<<[z,a+[v]]}while(s,a=q.shift)&&s!=0&&s $_=s ?a*' ':'-'