eval"R,B=%d,%d D={} f=->s{n=s.size D[s]||=$.=0&&s[i-B]=0&&s[i-R]==?R}?n.times{|i|s[i]>?R||f[s[0,i]+s[i+1,n]]}:n>$.&&$.=n} f['%s'] p$."%`dd`.split