XOR 삼형제 2

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

문제

서로 다른 세 양의 정수 aa, bb, ccabc=0a \oplus b \oplus c = 0을 만족하면 이 세 수를 XOR 삼형제라고 부른다. \oplus는 비트 단위 배타적 논리합이다.

정수 NN이 주어진다. 11부터 NN까지의 정수 중에서 몇 개를 고르되, 고른 수 가운데 어떤 세 수도 XOR 삼형제를 이루지 않아야 한다. 이 조건을 지키면서 가장 많이 고르는 방법을 찾아라.

입력

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

이어지는 TT개의 줄에 각각 정수 NN이 하나씩 주어진다. (1N1001 \le N \le 100)

출력

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

첫 줄에는 고른 수의 최대 개수를 출력한다.

둘째 줄에는 고른 수를 오름차순으로, 공백 하나로 구분해 출력한다.

최대 개수를 이루는 선택이 여러 가지일 수 있으므로 출력할 답을 하나로 정한다. 1N1001 \le N \le 100인 모든 NN에서, 최대 개수를 이루면서 연속한 정수로만 이루어진 선택이 항상 존재한다. 그 선택을 출력한다. 그런 선택이 둘 이상이면 첫 수가 가장 작은 것을 출력한다.