def solveFor4(a, b, c, d):
print 1, a, b, c
x1 = int(raw_input())
print 1, b, c, d
x2 = int(raw_input())
print 1, c, d, a
x3 = int(raw_input())
print 1, d, a, b
x4 = int(raw_input())
return [x1^x3^x4, x1^x2^x4, x1^x2^x3, x2^x3^x4]
def solveFor5(a, b, c, d, e):
print 1, a, b, c
x1 = int(raw_input())
print 1, b, c, d
x2 = int(raw_input())
print 1, c, d, e
x3 = int(raw_input())
print 1, d, e, a
x4 = int(raw_input())
print 1, e, a, b
x5 = int(raw_input())
return [x2^x3^x5, x1^x3^x4, x2^x4^x5, x1^x3^x5, x1^x2^x4]
def solveFor7(a, b, c, d, e, f, g):
print 1, a, b, c
x1 = int(raw_input())
print 1, b, c, d
x2 = int(raw_input())
print 1, c, d, e
x3 = int(raw_input())
print 1, d, e, f
x4 = int(raw_input())
print 1, e, f, g
x5 = int(raw_input())
print 1, f, g, a
x6 = int(raw_input())
print 1, g, a, b
x7 = int(raw_input())
return [x1^x3^x4^x6^x7, x5^x7^x1^x2^x4, x1^x2^x3^x5^x6, x2^x3^x4^x6^x7, x5^x7^x1^x3^x4, x1^x2^x4^x5^x6, x5^x6^x7^x2^x3]
t = int(raw_input())
for _ in xrange(t):
res = [2]
n = int(raw_input())
d = n/4
i = 1
if n%4 == 0:
for _ in xrange(d):
res = res + solveFor4(i, i+1, i+2, i+3)
i += 4
elif n%4 == 2:
for _ in xrange(d-2):
res = res + solveFor4(i, i + 1, i + 2, i + 3)
i += 4
res = res + solveFor5(i, i + 1, i + 2, i + 3, i + 4)
i += 5
res = res + solveFor5(i, i + 1, i + 2, i + 3, i + 4)
else:
for _ in xrange(d-1):
res = res + solveFor4(i, i + 1, i + 2, i + 3)
i += 4
if n%4 == 1:
res = res + solveFor5(i, i + 1, i + 2, i + 3, i + 4)
else:
res = res + solveFor7(i, i + 1, i + 2, i + 3, i + 4, i + 5, i + 6)
print " ".join([str(x) for x in res])
output = int(raw_input())
if output != 1:
break
ZGVmIHNvbHZlRm9yNChhLCBiLCBjLCBkKToKICAgIHByaW50IDEsIGEsIGIsIGMKICAgIHgxID0gaW50KHJhd19pbnB1dCgpKQogICAgcHJpbnQgMSwgYiwgYywgZAogICAgeDIgPSBpbnQocmF3X2lucHV0KCkpCiAgICBwcmludCAxLCBjLCBkLCBhCiAgICB4MyA9IGludChyYXdfaW5wdXQoKSkKICAgIHByaW50IDEsIGQsIGEsIGIKICAgIHg0ID0gaW50KHJhd19pbnB1dCgpKQogICAgcmV0dXJuIFt4MV54M154NCwgeDFeeDJeeDQsIHgxXngyXngzLCB4Ml54M154NF0KCmRlZiBzb2x2ZUZvcjUoYSwgYiwgYywgZCwgZSk6CiAgICBwcmludCAxLCBhLCBiLCBjCiAgICB4MSA9IGludChyYXdfaW5wdXQoKSkKICAgIHByaW50IDEsIGIsIGMsIGQKICAgIHgyID0gaW50KHJhd19pbnB1dCgpKQogICAgcHJpbnQgMSwgYywgZCwgZQogICAgeDMgPSBpbnQocmF3X2lucHV0KCkpCiAgICBwcmludCAxLCBkLCBlLCBhCiAgICB4NCA9IGludChyYXdfaW5wdXQoKSkKICAgIHByaW50IDEsIGUsIGEsIGIKICAgIHg1ID0gaW50KHJhd19pbnB1dCgpKQogICAgcmV0dXJuIFt4Ml54M154NSwgeDFeeDNeeDQsIHgyXng0Xng1LCB4MV54M154NSwgeDFeeDJeeDRdCgpkZWYgc29sdmVGb3I3KGEsIGIsIGMsIGQsIGUsIGYsIGcpOgogICAgcHJpbnQgMSwgYSwgYiwgYwogICAgeDEgPSBpbnQocmF3X2lucHV0KCkpCiAgICBwcmludCAxLCBiLCBjLCBkCiAgICB4MiA9IGludChyYXdfaW5wdXQoKSkKICAgIHByaW50IDEsIGMsIGQsIGUKICAgIHgzID0gaW50KHJhd19pbnB1dCgpKQogICAgcHJpbnQgMSwgZCwgZSwgZgogICAgeDQgPSBpbnQocmF3X2lucHV0KCkpCiAgICBwcmludCAxLCBlLCBmLCBnCiAgICB4NSA9IGludChyYXdfaW5wdXQoKSkKICAgIHByaW50IDEsIGYsIGcsIGEKICAgIHg2ID0gaW50KHJhd19pbnB1dCgpKQogICAgcHJpbnQgMSwgZywgYSwgYgogICAgeDcgPSBpbnQocmF3X2lucHV0KCkpCiAgICByZXR1cm4gW3gxXngzXng0Xng2Xng3LCB4NV54N154MV54Ml54NCwgeDFeeDJeeDNeeDVeeDYsIHgyXngzXng0Xng2Xng3LCB4NV54N154MV54M154NCwgeDFeeDJeeDReeDVeeDYsIHg1Xng2Xng3XngyXngzXQoKdCA9IGludChyYXdfaW5wdXQoKSkKCmZvciBfIGluIHhyYW5nZSh0KToKICAgIHJlcyA9IFsyXQogICAgbiA9IGludChyYXdfaW5wdXQoKSkKICAgIGQgPSBuLzQKICAgIGkgPSAxCiAgICBpZiBuJTQgPT0gMDoKICAgICAgICBmb3IgXyBpbiB4cmFuZ2UoZCk6CiAgICAgICAgICAgIHJlcyA9IHJlcyArIHNvbHZlRm9yNChpLCBpKzEsIGkrMiwgaSszKQogICAgICAgICAgICBpICs9IDQKICAgIGVsaWYgbiU0ID09IDI6CiAgICAgICAgZm9yIF8gaW4geHJhbmdlKGQtMik6CiAgICAgICAgICAgIHJlcyA9IHJlcyArIHNvbHZlRm9yNChpLCBpICsgMSwgaSArIDIsIGkgKyAzKQogICAgICAgICAgICBpICs9IDQKICAgICAgICByZXMgPSByZXMgKyBzb2x2ZUZvcjUoaSwgaSArIDEsIGkgKyAyLCBpICsgMywgaSArIDQpCiAgICAgICAgaSArPSA1CiAgICAgICAgcmVzID0gcmVzICsgc29sdmVGb3I1KGksIGkgKyAxLCBpICsgMiwgaSArIDMsIGkgKyA0KQogICAgZWxzZToKICAgICAgICBmb3IgXyBpbiB4cmFuZ2UoZC0xKToKICAgICAgICAgICAgcmVzID0gcmVzICsgc29sdmVGb3I0KGksIGkgKyAxLCBpICsgMiwgaSArIDMpCiAgICAgICAgICAgIGkgKz0gNAogICAgICAgIGlmIG4lNCA9PSAxOgogICAgICAgICAgICByZXMgPSByZXMgKyBzb2x2ZUZvcjUoaSwgaSArIDEsIGkgKyAyLCBpICsgMywgaSArIDQpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgcmVzID0gcmVzICsgc29sdmVGb3I3KGksIGkgKyAxLCBpICsgMiwgaSArIDMsIGkgKyA0LCBpICsgNSwgaSArIDYpCiAgICBwcmludCAiICIuam9pbihbc3RyKHgpIGZvciB4IGluIHJlc10pCiAgICBvdXRwdXQgPSBpbnQocmF3X2lucHV0KCkpCiAgICBpZiBvdXRwdXQgIT0gMToKICAgICAgICBicmVhaw==