队列入门
#include <iostream>
#include <cstring>
#include <string>
using namespace std;
int book[200],in[200],out[200];
string ans[200];
int main()
{
int n,t;
int flag=1;
deque<int> q;
while(cin>>n)
{ t=0; flag=1;
memset(book,0,sizeof(book));
while(!q.empty())q.pop_back();
getchar();
for(int i=1;i<=n;i++)
{
char ch; scanf("%c",&ch);
in[i]=ch-'0';
} getchar();
for(int i=1;i<=n;i++)
{
char ch; scanf("%c",&ch);
out[i]=ch-'0';
}
//for(int i=1;i<=n;i++)
//cout<<in[i]<<" "<<out[i]<<endl;
for(int i=1;i<=n;i++)
{
if(book[out[i]]&&q.back()==out[i])
{
q.pop_back(); ans[t++]="out";
continue;
}else if(book[out[i]]) {
printf("No.\nFINISH\n");
flag=0;
break;
}
int j;
while(!book[out[i]])
{
for( j=1;j<=n;j++)
if(!book[in[j]])
break;
book[in[j]]=1;
q.push_back(in[j]);
ans[t++]="in";
}
ans[t++]="out";
q.pop_back();
}
if(flag)
{
printf("Yes.\n");
for(int i=0;i<t;i++)
cout<<ans[i]<<"\n";
printf("FINISH\n");
}
}
return 0;
}