You are on page 1of 2

%{

#include<bits/stdc++.h>
using namespace std;
int flag=1,pos=0;
string input;
stack<int> s;
%}

%%
[ab]+ {input=yytext;}
. {flag=0;}
\n {return 0;}
%%
int yywrap();
int GOTO(int i,string s)
{
if(i==0&&s=="S")return 1;
if(i==0&&s=="A")return 2;
if(i==2&&s=="A")return 5;
if(i==3&&s=="A")return 8;
}
string ACTION(int i,string s)
{
if(i==0 && s=="a")return "s3";
if(i==0 && s=="b")return "s4";
if(i==1)return "accept";
if(i==2 && s=="a")return "s3";
if(i==2 && s=="b")return "s4";
if(i==3 && s=="a")return "s3";
if(i==3 && s=="b")return "s4";
if(i==4 && s!="$")return "r3";
if(i==4 && s=="$")return "r3";

if(i==5 && s=="$")return "r1";


if(i==8 && s=="b")return "r2";
if(i==8 && s=="a")return "r2";
if(i==8 && s=="$")return "r2";
}

main()
{
yylex();

//sort(vec.begin(),vec.end());

string s,t;
cin>>t;
while(t--)
{
cin>>n;
cin>>s>>t;
bool equal=true,all=true;
vector<lli> pos;
for(lli i=0;i<n;i++)
{
if(s[i]!=t[i])
pos.push_back(i);
}
lli sz=pos.size();
if(sz==0 || sz==1)
cout<<"YES\n";
else if(sz==2)
{

if(s[pos[0]]==s[pos[0]] && t[pos[1]]==t[pos[1]])


{
cout<<"YES\n";
}
else
cout<<"NO\n";
}
else
cout<<"NO\n";

return 0;

You might also like