ll@n; string@ss[n]; rep(i,n){ string&s=ss[i]; char b='~'; char w=0; int o=0; int bj=-1; int c; int j; for(j=0;c=s[j];++j){ if(c==w){ o=1; } if(c>w){ w=c; } if(c=0){ for(int j=0;c=s[j];++j){ if(c>b){ swap(s[j],s[bj]); break; } } } else if(!o){ swap(s[j-1],s[j-2]); } } int q[n]; int qn=n; rep(i,n){ q[i]=i; } for(int j=0;;++j){ int b='~'; rep(i,qn){ b