b,f,n;char*p,*q,s[256],d[256];r(x){s[x]/62*s[x]==*p&&!n^d[x]&&(d[x]=!n,r(x-1),r(x+1),r(x-9),r(x+9),n>3?s[b=0,x]=32:f++);}main(c){for(read(0,s,126);!b;c++){for(b=p=s;*++p;n=f,r(p-s))n=f=0,r(p-s);for(;--p-s;)for(q=p;*p==32&&q>s;q-=9)*p=*q,*q=32;}printf("%s\n%d chains",s,c-2);}