XOR 삼형제

아직 제출이 없습니다시간 제한5초메모리 제한256 MB

문제

11 이상 NN 이하의 정수 중에서 서로 다른 수를 골라 수열을 만든다. 고른 수 가운데 서로 다른 세 수 aa, bb, cc 를 어떻게 잡아도 abc0a \oplus b \oplus c \neq 0 이어야 한다. 여기서 \oplus 는 비트 단위 배타적 논리합(XOR)이다.

이 조건을 지키는 수열 중 길이가 가장 긴 것을 구하라.

입력

첫 줄에 테스트 케이스의 수 TT 가 주어진다. (1T1001 \leq T \leq 100)

다음 TT 개의 줄에 정수 NN 이 한 줄에 하나씩 주어진다. (1N201 \leq N \leq 20)

출력

테스트 케이스마다 두 줄에 걸쳐 답을 출력한다.

  • 첫 줄에는 수열의 길이를 출력한다.
  • 둘째 줄에는 수열을 오름차순으로 정렬해 공백으로 구분하여 출력한다.

길이가 가장 긴 수열이 여러 개면, 오름차순으로 정렬한 결과가 사전순으로 가장 앞서는 것 하나만 출력한다.