t=proc{|_,i|$&==_[i,1]&&[_[i]=1,9,-1,-9].map{|j|t[_,i+j]} _.count''} gets p $.+=?d.times{sub! /(\w)(.{8}) /m,' \2\1'}while$_>gsub(/\w/){t[$_*1,$`.size]<4?$&:' '} puts$_,"#{$./?d} chains"