This is an interactive problem. This is the hard version of the problem. The only difference is that (n \le 890) in this version. You can make hacks only if all versions of the problem are solved. There is a hidden permutation (p), which is a permutation of (\{1,2,\ldots,n\}). Let (pos_i) denote the position of the value (i) in (p), i.e., (pos_{p_i} = i). To find this permutation, you can ask four types of queries: "(1\ m\ i_1\ i_2\ \ldots\ i_m)" ((1 \leq m \leq n), (i_1,\ i_2,\ \ldots,\ i_m) must be distinct). Let (k = \min(60, m)). The jury will return the top (k) largest number(s) in (p_{i_1}, p_{i_2}, \ldots, p_{i_m}) in increasing order. "(2\ m\ i_1\ i_2\ \ldots\ i_m)" ((1 \leq m \leq n), (i_1,\ i_2,\ \ldots,\ i_m) must be distinct). Let (k = \min(60, m)). The jury will return the top (k) largest number(s) in (pos_{i_1}, pos_{i_2}, \ldots, pos_{i_m}) in increasing order. "(3\ m\ i_1\ i_2\ ...\ i_m)" ((1 \leq m \leq n), (i_1,\ i_2,\ ...,\ i_m) must be distinct). Let (k = \min(300, m)). The jury will return the top (k) largest number(s) in (p_{i_1}, p_{i_2}, ..., p_{i_m}) in increasing order. "(4\ m\ i_1\ i_2\ \ldots\ i_m)" ((1 \leq m \leq n), (i_1,\ i_2,\ \ldots,\ i_m) must be distinct). Let (k = \min(300, m)). The jury will return the top (k) largest number(s) in (pos_{i_1}, pos_{i_2}, \ldots, pos_{i_m}) in increasing order. Let (c_i) be the usage count of queries of type (i) ((1 \le i \le 4)). Your query count must satisfy the following constraints: (c_1+c_2+c_3+c_4 \le 30.) (c_3+c_4 \le 1.) Each test contains multiple test cases. The first line contains the number of test cases (t) ((1 \le t \le 40)). The description of the test cases follows. The first line of each test case contains one integer (n) ((2 \le n \le 890)). At this moment, the permutation (p) is chosen. The interacto |