#include #include #include #include using namespace std; #define TESTS 11 vector > inputs; int lengths[] = {4, 2, 1, 2, 0, 1, 3, 4, 2, 16, 50}; int main() { ifstream in("lcs.in"); int T; in >> T; inputs = vector >(T); for(int i = 0; i < T; i++) { string s1, s2, s3; in >> s1 >> s2 >> s3; inputs[i].push_back(s1); inputs[i].push_back(s2); inputs[i].push_back(s3); } int length; string subseq; for(int i = 0; i < TESTS; i++) { cin >> length; if(length) cin >> subseq; else subseq = ""; if(length != lengths[i]) { cout << i << " BAD" << endl; return 0; } if(length != subseq.length()) { cout << i << " BAD" << endl; return 0; } for(int j = 0; j < 3; j++) { int prev = 0; for(int k = 0; k < length; k++) { int p; for(p = prev; p < inputs[i][j].length(); p++) { if(inputs[i][j][p] == subseq[k]) { prev = p + 1; break; } } if(p == inputs[i][j].length()) { cout << i << " BAD" << endl; return 0; } } } } cout << "YES" << endl; return 0; }