#include #include #include using namespace std; int main () { int N; cin >> N; string S, T; cin >> S >> T; // 一致しないものがあれば前からどうにかするしかない。 bool ok = true; deque que_A, que_B; for (int i = 0; i < N; i++) { if (S[i] == T[i]) continue; if (T[i] < S[i]) { ok = false; break; } if (S[i] == 'A') { if (T[i] == 'B') que_A.push_back(i); if (T[i] == 'C') que_A.push_front(i); } if (S[i] == 'B') que_B.push_back(i); } // 頑張る while (!que_A.empty() && !que_B.empty()) { auto A_idx = que_A.front(); que_A.pop_front(); auto B_idx = que_B.front(); que_B.pop_front(); if (T[A_idx] == 'C') que_B.push_back(A_idx); } if (!que_A.empty() || !que_B.empty()) ok = false; if (ok) { cout << "Yes\n"; } else { cout << "No\n"; } }