Hôm nay bé Minh Anh được học về dãy ngoặc. Dãy ngoặc là một dãy chỉ gồm các dấu mở ngoặc (
và dấu đóng ngoặc )
. Một dãy ngoặc được được gọi là một dãy ngoặc đúng nếu tồn tại một cách viết thêm số 1
và dấu +
vào giữa các dấu ngoặc này để được một biểu thức toán học đúng. Ví dụ ()(()())
là một dãy ngoặc đúng vì ta có thể điền thêm số 1
và dấu +
vào để được một biểu thức toán học đúng là (1+1)+((1+1)+(1+1))
. Trong khi đó )(
không phải một dãy ngoặc đúng.
Bài tập về nhà hôm nay của Minh Anh là như sau: Sẽ có một số dãy ngoặc bị khuyết vài dấu, những dấu bị khuyết sẽ có dạng là ?
, yêu cầu thay thế các dấu ?
để tạo thành một dãy ngoặc đúng. Đề bài này sẽ không thể làm khó Minh Anh nếu như cô giáo không có một chút nhầm lẫn trong khâu ra đề và có một số dãy ngoặc không thể giải được. Hãy giúp Minh Anh kiểm tra thử những dãy ngoặc nào là có thể giải được (thay thế các dấu ?
bằng dấu (
hoặc )
để được dãy ngoặc đúng) hay không.
Input
- Dòng đầu tiên gồm một số nguyên dương duy nhất ~q(1 \leq q \leq 1000)~, là số dãy ngoặc.
- ~q~ dòng tiếp theo, mỗi dòng là một xâu ký tự chỉ gồm các ký tự
(
,)
và?
.
Output
- In ra câu trả lời cho từng dãy ngoặc, nếu dãy ngoặc có thể giải được thì in ra
YES
, ngược lại in raNO
.
Scoring
- Subtask 1 (~40\%~): các xâu có độ dài không quá ~20~, tổng độ dài các xâu không quá ~1\,000~.
- Subtask 2 (~30\%~): các xâu có độ dài không quá ~1\,000~, tổng độ dài các xâu không quá ~10\,000~.
- Subtask 3 (~30\%~): các xâu có độ dài không quá ~10^5~, tổng độ dài các xâu không quá ~10^6~.
Sample Input
5
??()
??
()
(?))
)?
Sample Output
YES
YES
YES
YES
NO
Comments