Đây là một bài interactive.
Hệ thống có một dãy ~a~ là hoán vị của số tự nhiên từ ~1~ đến ~n~, các phần tử được đánh số từ ~0~. Nhiệm vụ của bạn là tìm được hoán vị này.
Bạn có thể hỏi các truy vấn dưới dạng một dãy ~b~ cũng là hoán vị của số tự nhiên từ ~1~ đến ~n~. Hệ thống sẽ cho biết tổng: ~\displaystyle \sum^{n-1}_{i=0}|a_i-b_i|~.
Bạn cần tìm được hoán vị bằng cách hỏi không quá ~U~ (~U~ là một số cho trước) truy vấn.
Input
Dòng đầu tiên chứa một số nguyên ~t~ (~t\le 10~) – số test case.
Dòng đầu tiên của mỗi test case chứa ~n~ (~n\le 500~) và ~U~ – độ dài của hoán vị và số lượt hỏi tối đa.
Sau khi đọc dòng này bạn sẽ bắt đầu quá trình tương tác.
Interaction
Để hỏi một truy vấn dưới dạng hoán vị ~b~, chương trình của bạn cần in "ask ~b_0\ b_1\ \ldots\ b_{n-1}~".
Sau đó chương trình của bạn cần đọc kết quả ~\displaystyle \sum^{n-1}_{i=0}|a_i-b_i|~ được cung cấp bởi hệ thống.
Để đưa ra đáp án, chương trình của bạn cần in "answer ~p_0\ p_1\ \ldots\ p_{n-1}~" với ~p~ là dãy mà bạn tìm được. Việc đưa ra đáp án không tính vào số câu hỏi. Sau đó chương trình của bạn cần tiếp tục giải các test case còn lại, hoặc dừng lại nếu đã giải hết các test case.
Sau khi in ra một truy vấn, bạn cần xuống dòng và flush output. Để làm điều này, hãy:
fflush(stdout)
hoặccout.flush()
trong C++;System.out.flush()
trong Java;flush(output)
trong Pascal;stdout.flush()
trong Python;
Subtask
~30\%~ số test khác có ~U=1000~.
~70\%~ số test còn lại có ~U=750~.
Sample Input
1
2 1000
0
Sample Output
ask 1 2
answer 1 2
Bình luận