Yuki는 국제 볼록다각형 선수권 대회(ICPC)의 수석 심판입니다. 그는 대회를 위해 기하학 문제를 출제했습니다. 하지만 기하학 경험이 부족했던 탓에 올바른 볼록다각형 데이터를 생성하는 데 실패했습니다.
자신의 기하학 능력을 증명하기 위해, Yuki는 다시 막대기를 가지고 놀기 시작했습니다. 그에게는 $n$개의 막대기가 있으며, $i$번째 막대기의 길이는 $a_i$입니다. 그는 이 중에서 최소 $3$개의 막대기를 골라 그 막대기들로 비퇴화(non-degenerate) 볼록다각형$^*$을 만들려고 합니다.
하지만 Yuki는 기하학에 대해 잘 모르기 때문에 막대기를 어떻게 골라야 할지 모릅니다. Yuki의 좋은 친구로서, 당신은 다음 조건을 만족하는 막대기들의 부분집합을 찾는 것을 도와주어야 합니다:
부분집합은 최소 $3$개의 막대기를 포함하며, 막대기의 개수가 가능한 한 많아야 합니다;
이 부분집합에서 최소 $3$개의 막대기로 이루어진 어떤 부분집합을 고르더라도, 그 막대기들은 비퇴화 볼록다각형을 이룰 수 있어야 합니다.
또는 그러한 부분집합이 존재하지 않는다고 보고하세요.
$^*$: 비퇴화 볼록다각형이란 모든 변의 길이가 0보다 크고, 어느 세 꼭짓점도 한 직선 위에 있지 않으며, 모든 내각이 $180^\circ$보다 엄격하게 작은 다각형을 말합니다.
입력
이 문제는 여러 개의 테스트 케이스를 포함합니다.
첫 번째 줄에는 테스트 케이스의 수를 나타내는 양의 정수 $t$ ($1 \le t \le 10^5$)가 주어집니다.
각 테스트 케이스에 대해:
첫 번째 줄에는 양의 정수 $n$ ($3 \le n \le 5 \cdot 10^5$)이 주어집니다.
두 번째 줄에는 $n$개의 양의 정수 $a_1,\ldots,a_n$ ($1 \le a_i \le 10^9$)이 주어집니다.
모든 테스트 케이스에 대해 $n$의 합은 $5 \cdot 10^5$을 초과하지 않음이 보장됩니다.
출력
각 테스트 케이스마다 한 줄을 출력합니다:
그러한 부분집합이 존재하지 않는다면 정수 $0$ 하나를 출력합니다.
그러한 부분집합이 존재한다면, 먼저 찾은 부분집합의 크기를 나타내는 정수 $k$를 출력하고, 이어서 부분집합에 속한 $k$개의 막대기의 길이를 나타내는 $k$개의 정수 $b_1,\ldots,b_k$를 출력합니다.
예제
예제 입력 1
3 4 6 9 2 6 3 4 4 9 6 3 1 4 6 5 9
예제 출력 1
3 6 2 6 0 4 3 4 5 6
노트
첫 번째 테스트 케이스의 경우:
$\{6,2,6\}$은 유효한 부분집합입니다. $2+6>6$이므로 이 $3$개의 막대기는 비퇴화 삼각형을 이룰 수 있으며, 더 큰 유효한 부분집합이 존재하지 않음을 쉽게 증명할 수 있습니다.
$\{6,6,9\}$ 또한 유효한 부분집합입니다.
두 번째 테스트 케이스의 경우:
- 유효한 부분집합이 존재하지 않음을 증명할 수 있습니다.
세 번째 테스트 케이스의 경우:
$\{3,4,5,6\}$은 유효한 부분집합입니다. 이 경우 Yuki가 막대기를 고르는 방법은 $\{3,4,5\}$, $\{3,4,6\}$, $\{3,5,6\}$, $\{4,5,6\}$, $\{3,4,5,6\}$의 $5$가지가 있으며, 각 방법 모두 비퇴화 볼록다각형을 이룰 수 있습니다. 더 큰 유효한 부분집합이 존재하지 않음을 쉽게 증명할 수 있습니다.
$\{3,4,5,6,9\}$는 길이가 $3,4,9$인 막대기들로 비퇴화 삼각형을 만들 수 없기 때문에 유효한 부분집합이 아닙니다.
$\{3,5,6\}$은 더 큰 유효한 부분집합이 존재하기 때문에 유효한 부분집합이 아닙니다.