TRIETORTURE

Xem dạng PDF

Gửi bài giải


Điểm: 0,01 (OI)
Giới hạn thời gian: 2.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Chào mọi người. God QM vừa mới viết specification cho ngôn ngữ lập trình TRIETORTURE, nhưng vì bận đánh cp nên chưa impl compiler được. HTK rảnh lắm nhưng không muốn impl compiler vì lười. Mọi người hãy giúp god QM và HTK impl compiler nhé.

TRIETORTURE là một ngôn ngữ lập trình rất orz. Đọc specification của QM là biết orz rồi. Nó có 2 tính năng: khai báo xâu và cộng xâu.

Dòng đầu tiên của chương trình là một số nguyên ~n~—số lượng câu lệnh. Câu lệnh thứ ~i~ tạo ra xâu có chỉ số là ~i~.

Cú pháp khai báo xâu là DECLARE s, với s là 1 xâu có độ dài từ 1 đến 10^6 và chỉ bao gồm các kí tự từ a đến z. Ví dụ, để khai báo xâu có nội dung là abc, ta ghi DECLARE abc.

Cú pháp cộng xâu là CONCATENATE i j, với i và j là chỉ số của 2 xâu. Lưu ý rằng i và j có thể trùng nhau.

Sau khi các câu lệnh của chương trình được thực hiện, các xâu có thể trở nên rất lớn. Vì vậy, việc in đầy đủ một xâu bất kì là bất khả thi. Chình vì vậy, lập trình viên cần phải cho ~m~ xâu và ~i~—chỉ số của một xâu cụ thể, và ngôn ngữ TRIETORTURE sẽ thông báo nếu ít nhất 1 trong ~m~ xâu là tiền tố của xâu thứ ~i~.

God QM muốn dự án hoàn thành sớm. Nếu có người impl được compiler, god QM sẽ hack server VNOJ để cho người đó đai đỏ! Chúc mọi người giành được phần quà của god QM nhé.

Input

Dòng đầu tiên gồm một số nguyên dương ~t \leq 10^6~—số lượng test. Sau đây là mô tả từng test.

Dòng đầu tiên của mỗi bộ test gồm một số nguyên dương ~n \leq 10^6~. ~n~ dòng tiếp theo là các câu lệnh của chương trình.

Dòng thứ ~n + 1~ gồm hai số nguyên dương ~m~ và ~i~. ~m~ là số xâu và ~i~ là chỉ số của xâu trong chương trình. ~m~ dòng tiếp theo là các xâu cần kiểm tra, chỉ bao gồm các kí tự từ a đến z.

Tổng ~n~ trong tất cả các test không vượt quá ~10^6~.

Tổng ~m~ trong tất cả các test không vượt quá ~10^6~.

Tổng độ dài các xâu trong các câu lệnh DECLARE trong tất cả các test không vượt quá 10^6.

Tổng độ dài ~m~ xâu cần kiểm tra trong tất cả các test không vượt quá ~10^6~.

Output

Với mỗi test, in ra YES nếu ít nhất 1 trong m xâu là tiền tố của xâu thứ i, ngược lại in NO.

Sample Input 1

1
3
DECLARE a
CONCATENATE 1 1
CONCATENATE 1 1
2 3
aaa
bbb

Sample Output 1

NO

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.