- #include<iostream> 
- #include<set> 
- #define ll long long 
- using namespace std; 
- int main() 
- {   ll iter,N,limit,T,K,i,count,indexa,indexb,flag; 
-     cin>>T; 
-     while(T--) 
-     {    
-         cin>>N; 
-         string A,B; 
-         cin>>A>>B; 
-         set<ll>ai,bi; 
-         flag=0; 
-         for(i=0;i<N;i++){ 
-             if(B[i]!=A[i] && int(A[i])<int(B[i])) 
-             { 
-                 flag=1; 
-                 break; 
-             } 
-         } 
-         count=0; 
-         for(i=0;i<N;i++){ 
-             if(A[i]!=B[i]){ 
-                 count++; 
-             } 
-         } 
-         ll counta=0,countb=0; 
-         for(i=0;i<N;i++){ 
-         	if(A[i]=='a') 
-         	counta++; 
-         	else if(A[i]=='b') 
-         	countb++; 
-         } 
-         if(flag==1 || counta==0 || countb==0){ 
-             cout<<-1<<"\n"; 
-         } 
-         else if(count=0) 
-         cout<<0; 
-         else{ 
-         	ll gotb=0;ll gota=0; 
-         	for(i=0;i<N;i++){ 
-             if(A[i]=='a' && gota==0) 
-             { 
-             	gota=1;ai.insert(i); 
-             } 
-   
-             else if(A[i]=='b' && gotb==0) 
-             { 
-             bi.insert(i);gotb=1;	 
-             } 
-         } 
-         for(i=0;i<N;i++){ 
-             if(B[i]!=A[i]) 
-             { 
-             	if(B[i]=='a') 
-             	 ai.insert(i); 
-             else if(B[i]=='b') 
-             bi.insert(i); 
-   
-             } 
-   
-   
-         }     
-         cout<<2<<"\n"; 
-         cout<<ai.size()<<"\t"; 
-         for(ll x:ai) 
-         cout<<x<<"\t"; 
-         cout<<"\n"; 
-         cout<<bi.size()<<"\t"; 
-         for(ll x:bi) 
-         cout<<x<<"\t"; 
-         cout<<"\n"; 
-         } 
-     } 
-     return 0; 
- } 
-   
-   
-   
-   
				I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPHNldD4KI2RlZmluZSBsbCBsb25nIGxvbmcKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IG1haW4oKQp7ICAgbGwgaXRlcixOLGxpbWl0LFQsSyxpLGNvdW50LGluZGV4YSxpbmRleGIsZmxhZzsKICAgIGNpbj4+VDsKICAgIHdoaWxlKFQtLSkKICAgIHsgICAKICAgICAgICBjaW4+Pk47CiAgICAgICAgc3RyaW5nIEEsQjsKICAgICAgICBjaW4+PkE+PkI7CiAgICAgICAgc2V0PGxsPmFpLGJpOwogICAgICAgIGZsYWc9MDsKICAgICAgICBmb3IoaT0wO2k8TjtpKyspewogICAgICAgICAgICBpZihCW2ldIT1BW2ldICYmIGludChBW2ldKTxpbnQoQltpXSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGZsYWc9MTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNvdW50PTA7CiAgICAgICAgZm9yKGk9MDtpPE47aSsrKXsKICAgICAgICAgICAgaWYoQVtpXSE9QltpXSl7CiAgICAgICAgICAgICAgICBjb3VudCsrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGxsIGNvdW50YT0wLGNvdW50Yj0wOwogICAgICAgIGZvcihpPTA7aTxOO2krKyl7CiAgICAgICAgCWlmKEFbaV09PSdhJykKICAgICAgICAJY291bnRhKys7CiAgICAgICAgCWVsc2UgaWYoQVtpXT09J2InKQogICAgICAgIAljb3VudGIrKzsKICAgICAgICB9CiAgICAgICAgaWYoZmxhZz09MSB8fCBjb3VudGE9PTAgfHwgY291bnRiPT0wKXsKICAgICAgICAgICAgY291dDw8LTE8PCJcbiI7CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYoY291bnQ9MCkKICAgICAgICBjb3V0PDwwOwogICAgICAgIGVsc2V7CiAgICAgICAgCWxsIGdvdGI9MDtsbCBnb3RhPTA7CiAgICAgICAgCWZvcihpPTA7aTxOO2krKyl7CiAgICAgICAgICAgIGlmKEFbaV09PSdhJyAmJiBnb3RhPT0wKQogICAgICAgICAgICB7CiAgICAgICAgICAgIAlnb3RhPTE7YWkuaW5zZXJ0KGkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICBlbHNlIGlmKEFbaV09PSdiJyAmJiBnb3RiPT0wKQogICAgICAgICAgICB7CiAgICAgICAgICAgIGJpLmluc2VydChpKTtnb3RiPTE7CQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGZvcihpPTA7aTxOO2krKyl7CiAgICAgICAgICAgIGlmKEJbaV0hPUFbaV0pCiAgICAgICAgICAgIHsKICAgICAgICAgICAgCWlmKEJbaV09PSdhJykKICAgICAgICAgICAgCSBhaS5pbnNlcnQoaSk7CiAgICAgICAgICAgIGVsc2UgaWYoQltpXT09J2InKQogICAgICAgICAgICBiaS5pbnNlcnQoaSk7CiAgICAgICAgICAgIAkKICAgICAgICAgICAgfQogICAgICAgICAgIAogICAgICAgICAgIAogICAgICAgIH0gICAgCiAgICAgICAgY291dDw8Mjw8IlxuIjsKICAgICAgICBjb3V0PDxhaS5zaXplKCk8PCJcdCI7CiAgICAgICAgZm9yKGxsIHg6YWkpCiAgICAgICAgY291dDw8eDw8Ilx0IjsKICAgICAgICBjb3V0PDwiXG4iOwogICAgICAgIGNvdXQ8PGJpLnNpemUoKTw8Ilx0IjsKICAgICAgICBmb3IobGwgeDpiaSkKICAgICAgICBjb3V0PDx4PDwiXHQiOwogICAgICAgIGNvdXQ8PCJcbiI7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIDA7Cn0KICAgICAgICAKICAgICAgICAKICAgIAogICAgIAk=