// File Name: b.cpp // Author: bo_jwolf // Created Time: 2013年10月16日 星期三 10:53:29 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int n; int i, j; const int maxn = 1005; char order1[ maxn ], order2[ maxn ]; void solve(){ stack< char > temp; queue< string >Q; for( int i = 0, j = 0; i < n && j <= n; ){ if( temp.empty() || temp.top() != order2[ i ] ){ if( j == n ){ cout << "No.\nFINISH" << endl; return; } temp.push( order1[ j++ ] ); Q.push( "in" ); } else{ Q.push( "out" ); temp.pop(); i++; } } cout << "Yes." << endl; string ch; while( !Q.empty() ){ ch = Q.front(); cout << ch << endl; Q.pop(); } cout << "FINISH" << endl; } int main(){ while(cin >> n){ cin >> order1 >> order2; solve(); } return 0; }