Cho một xâu độ dài  chỉ gồm các kí tự ( và ), các kí tự được đánh số từ  đến  theo chiều từ trái qua phải.
Một dãy ngoặc đúng được định nghĩa như sau:
- Xâu rỗng là một dãy ngoặc đúng;
- Nếu  là một dãy ngoặc đúng thì  là một dãy ngoặc đúng;
- Nếu  và  là hai dãy ngoặc đúng thì  là một dãy ngoặc đúng;
Cho  truy vấn, mỗi truy vấn thuộc một trong hai loại sau:
-  thay đổi kí tự dấu ngoặc ở vị trí  của xâu kí tự thành kí tự dấu ngoặc ngược lại;
-  in ra  nếu xâu con từ vị trí  đến vị trí  là một dãy ngoặc đúng, in ra  trong trường hợp ngược lại.
Dữ liệu vào:
- Dòng đầu chứa hai số nguyên dương  là độ dài dãy ngoặc và số truy vấn;
- Dòng thứ hai chứa xâu ký tự độ dài  chỉ gồm các ký tự (và);
-  dòng tiếp theo, mỗi dòng chứa một truy vấn thuộc một trong hai loại nêu trên.
Dữ liệu ra:
- Một chuỗi gồm các ký tự  hoặc  tướng ứng với câu trả lời mỗi truy vấn loại .
Ví dụ:
Dữ liệu vào:
8 7
()))(())
1 1 2
1 3 4
0 3
1 1 4
1 5 8
0 6
1 5 8
Dữ liệu ra:
Giới hạn:
- .