서로 다른 세 양의 정수 a, b, c가 a⊕b⊕c=0을 만족하면 이 세 수를 XOR 삼형제라고 부른다. ⊕는 비트 단위 배타적 논리합이다.
정수 N이 주어진다. 1부터 N까지의 정수 중에서 몇 개를 고르되, 고른 수 가운데 어떤 세 수도 XOR 삼형제를 이루지 않아야 한다. 이 조건을 지키면서 가장 많이 고르는 방법을 찾아라.
첫 줄에 테스트 케이스의 수 T가 주어진다. (1≤T≤100)
이어지는 T개의 줄에 각각 정수 N이 하나씩 주어진다. (1≤N≤100)
각 테스트 케이스마다 두 줄에 걸쳐 답을 출력한다.
첫 줄에는 고른 수의 최대 개수를 출력한다.
둘째 줄에는 고른 수를 오름차순으로, 공백 하나로 구분해 출력한다.
최대 개수를 이루는 선택이 여러 가지일 수 있으므로 출력할 답을 하나로 정한다. 1≤N≤100인 모든 N에서, 최대 개수를 이루면서 연속한 정수로만 이루어진 선택이 항상 존재한다. 그 선택을 출력한다. 그런 선택이 둘 이상이면 첫 수가 가장 작은 것을 출력한다.