#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define bug(x) cout<<#x<<" : "<<x<<endl;
#define bug2(a,b) cout<<#a<<" : "<<a<<"\t"<<#b<<" : "<<b<<endl;
int n;
string a,b;
map<string,int>mp;
int f(int i,char last){
if(i==n){
return 1;
}
string cur=string(i,1)+":"+string(last,1);
if(mp.find(cur)!=mp.end())return mp[cur];
int ans=0;
if(last<=b[i])ans=max(ans,f(i+1,b[i]));
if(last<=a[i])ans=max(ans,f(i+1,a[i]));
string cur1=string(i,1)+":"+string(last,1);
return mp[cur1]=ans;
return ans;
}
signed main(){
ll t=1;cin>>t;
while(t--){
cin>>n;
cin>>a>>b;
string tmpa="",tmpb="";
char last='#';
mp.clear();
// for(int i=0;i<n;i++){
// if(a[i]<=b[i] and last<=a[i]){
// last=a[i];
// tmpa+=a[i];
// }
// else if(a[i]>=b[i] and last<=b[i]){
// last=b[i];
// tmpa+=b[i];
// }
// bug(last)
// }
// for(int i=0;i<n;i++){
// if(a[i]<b[i])tmpb+=a[i];
// else tmpb+=b[i];
// }
// bug(tmpa)
// bug(tmpb)
// if(is_sorted(tmpa.begin(),tmpa.end()))ok=1;
int ok=f(0,'#');
// if(is_sorted(tmpb.begin(),tmpb.end()))ok=1;
if(ok)cout<<"Yes"<<endl;
else cout<<"No"<<endl;
}
return 0;
}