import sys
def solveFor4(a, b, c, d):
print 1, a, b, c
sys.stdout.flush()
x1 = int(raw_input())
print 1, b, c, d
sys.stdout.flush()
x2 = int(raw_input())
print 1, c, d, a
sys.stdout.flush()
x3 = int(raw_input())
print 1, d, a, b
sys.stdout.flush()
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
sys.stdout.flush()
x1 = int(raw_input())
print 1, b, c, d
sys.stdout.flush()
x2 = int(raw_input())
print 1, c, d, e
sys.stdout.flush()
x3 = int(raw_input())
print 1, d, e, a
sys.stdout.flush()
x4 = int(raw_input())
print 1, e, a, b
sys.stdout.flush()
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
sys.stdout.flush()
x1 = int(raw_input())
print 1, b, c, d
sys.stdout.flush()
x2 = int(raw_input())
print 1, c, d, e
sys.stdout.flush()
x3 = int(raw_input())
print 1, d, e, f
sys.stdout.flush()
x4 = int(raw_input())
print 1, e, f, g
sys.stdout.flush()
x5 = int(raw_input())
print 1, f, g, a
sys.stdout.flush()
x6 = int(raw_input())
print 1, g, a, b
sys.stdout.flush()
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 += solveFor4(i, i+1, i+2, i+3)
i += 4
elif n%4 == 2:
for _ in xrange(d-2):
res += solveFor4(i, i + 1, i + 2, i + 3)
i += 4
res += solveFor5(i, i + 1, i + 2, i + 3, i + 4)
i += 5
res += solveFor5(i, i + 1, i + 2, i + 3, i + 4)
else:
for _ in xrange(d-1):
res += solveFor4(i, i + 1, i + 2, i + 3)
i += 4
if n%4 == 1:
res += solveFor5(i, i + 1, i + 2, i + 3, i + 4)
else:
res += solveFor7(i, i + 1, i + 2, i + 3, i + 4, i + 5, i + 6)
print " ".join([str(x) for x in res])
sys.stdout.flush()
output = int(raw_input())
if output != 1:
break
aW1wb3J0IHN5cwoKCmRlZiBzb2x2ZUZvcjQoYSwgYiwgYywgZCk6CiAgICBwcmludCAxLCBhLCBiLCBjCiAgICBzeXMuc3Rkb3V0LmZsdXNoKCkKICAgIHgxID0gaW50KHJhd19pbnB1dCgpKQogICAgcHJpbnQgMSwgYiwgYywgZAogICAgc3lzLnN0ZG91dC5mbHVzaCgpCiAgICB4MiA9IGludChyYXdfaW5wdXQoKSkKICAgIHByaW50IDEsIGMsIGQsIGEKICAgIHN5cy5zdGRvdXQuZmx1c2goKQogICAgeDMgPSBpbnQocmF3X2lucHV0KCkpCiAgICBwcmludCAxLCBkLCBhLCBiCiAgICBzeXMuc3Rkb3V0LmZsdXNoKCkKICAgIHg0ID0gaW50KHJhd19pbnB1dCgpKQogICAgcmV0dXJuIFt4MV54M154NCwgeDFeeDJeeDQsIHgxXngyXngzLCB4Ml54M154NF0KCmRlZiBzb2x2ZUZvcjUoYSwgYiwgYywgZCwgZSk6CiAgICBwcmludCAxLCBhLCBiLCBjCiAgICBzeXMuc3Rkb3V0LmZsdXNoKCkKICAgIHgxID0gaW50KHJhd19pbnB1dCgpKQogICAgcHJpbnQgMSwgYiwgYywgZAogICAgc3lzLnN0ZG91dC5mbHVzaCgpCiAgICB4MiA9IGludChyYXdfaW5wdXQoKSkKICAgIHByaW50IDEsIGMsIGQsIGUKICAgIHN5cy5zdGRvdXQuZmx1c2goKQogICAgeDMgPSBpbnQocmF3X2lucHV0KCkpCiAgICBwcmludCAxLCBkLCBlLCBhCiAgICBzeXMuc3Rkb3V0LmZsdXNoKCkKICAgIHg0ID0gaW50KHJhd19pbnB1dCgpKQogICAgcHJpbnQgMSwgZSwgYSwgYgogICAgc3lzLnN0ZG91dC5mbHVzaCgpCiAgICB4NSA9IGludChyYXdfaW5wdXQoKSkKICAgIHJldHVybiBbeDJeeDNeeDUsIHgxXngzXng0LCB4Ml54NF54NSwgeDFeeDNeeDUsIHgxXngyXng0XQoKZGVmIHNvbHZlRm9yNyhhLCBiLCBjLCBkLCBlLCBmLCBnKToKICAgIHByaW50IDEsIGEsIGIsIGMKICAgIHN5cy5zdGRvdXQuZmx1c2goKQogICAgeDEgPSBpbnQocmF3X2lucHV0KCkpCiAgICBwcmludCAxLCBiLCBjLCBkCiAgICBzeXMuc3Rkb3V0LmZsdXNoKCkKICAgIHgyID0gaW50KHJhd19pbnB1dCgpKQogICAgcHJpbnQgMSwgYywgZCwgZQogICAgc3lzLnN0ZG91dC5mbHVzaCgpCiAgICB4MyA9IGludChyYXdfaW5wdXQoKSkKICAgIHByaW50IDEsIGQsIGUsIGYKICAgIHN5cy5zdGRvdXQuZmx1c2goKQogICAgeDQgPSBpbnQocmF3X2lucHV0KCkpCiAgICBwcmludCAxLCBlLCBmLCBnCiAgICBzeXMuc3Rkb3V0LmZsdXNoKCkKICAgIHg1ID0gaW50KHJhd19pbnB1dCgpKQogICAgcHJpbnQgMSwgZiwgZywgYQogICAgc3lzLnN0ZG91dC5mbHVzaCgpCiAgICB4NiA9IGludChyYXdfaW5wdXQoKSkKICAgIHByaW50IDEsIGcsIGEsIGIKICAgIHN5cy5zdGRvdXQuZmx1c2goKQogICAgeDcgPSBpbnQocmF3X2lucHV0KCkpCiAgICByZXR1cm4gW3gxXngzXng0Xng2Xng3LCB4NV54N154MV54Ml54NCwgeDFeeDJeeDNeeDVeeDYsIHgyXngzXng0Xng2Xng3LCB4NV54N154MV54M154NCwgeDFeeDJeeDReeDVeeDYsIHg1Xng2Xng3XngyXngzXQoKdCA9IGludChyYXdfaW5wdXQoKSkKCmZvciBfIGluIHhyYW5nZSh0KToKICAgIHJlcyA9IFsyXQogICAgbiA9IGludChyYXdfaW5wdXQoKSkKICAgIGQgPSBuLzQKICAgIGkgPSAxCiAgICBpZiBuJTQgPT0gMDoKICAgICAgICBmb3IgXyBpbiB4cmFuZ2UoZCk6CiAgICAgICAgICAgIHJlcyArPSBzb2x2ZUZvcjQoaSwgaSsxLCBpKzIsIGkrMykKICAgICAgICAgICAgaSArPSA0CiAgICBlbGlmIG4lNCA9PSAyOgogICAgICAgIGZvciBfIGluIHhyYW5nZShkLTIpOgogICAgICAgICAgICByZXMgKz0gc29sdmVGb3I0KGksIGkgKyAxLCBpICsgMiwgaSArIDMpCiAgICAgICAgICAgIGkgKz0gNAogICAgICAgIHJlcyArPSBzb2x2ZUZvcjUoaSwgaSArIDEsIGkgKyAyLCBpICsgMywgaSArIDQpCiAgICAgICAgaSArPSA1CiAgICAgICAgcmVzICs9IHNvbHZlRm9yNShpLCBpICsgMSwgaSArIDIsIGkgKyAzLCBpICsgNCkKICAgIGVsc2U6CiAgICAgICAgZm9yIF8gaW4geHJhbmdlKGQtMSk6CiAgICAgICAgICAgIHJlcyArPSBzb2x2ZUZvcjQoaSwgaSArIDEsIGkgKyAyLCBpICsgMykKICAgICAgICAgICAgaSArPSA0CiAgICAgICAgaWYgbiU0ID09IDE6CiAgICAgICAgICAgIHJlcyArPSBzb2x2ZUZvcjUoaSwgaSArIDEsIGkgKyAyLCBpICsgMywgaSArIDQpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgcmVzICs9IHNvbHZlRm9yNyhpLCBpICsgMSwgaSArIDIsIGkgKyAzLCBpICsgNCwgaSArIDUsIGkgKyA2KQogICAgcHJpbnQgIiAiLmpvaW4oW3N0cih4KSBmb3IgeCBpbiByZXNdKQogICAgc3lzLnN0ZG91dC5mbHVzaCgpCiAgICBvdXRwdXQgPSBpbnQocmF3X2lucHV0KCkpCiAgICBpZiBvdXRwdXQgIT0gMToKICAgICAgICBicmVhaw==