f=$<.map{|l|l.chop.bytes} t,*X=->x,y{g=f[x];f[x]=g[y,4]+g[0,y]} r=->r,a{X+=["R #{r} #{a%=4}"]*-2[a];t[r,4-a];DBG[]} d=->c,b{X+=["C #{c} #{b%=4}"]*-2[b];f=f.transpose;t[c,4-b];f=f.transpose;DBG[]} w=->x{2.times{|i|d[x,1];r[3,-1];d[x,-1];r[3,2-3*i]}} DBG=->{f.each{|g|false&&X<79&&w[0] f[3][2]>79&&w[1] f[3][1]>78&&w[0] puts X.size,X