Технокубок 2021 - Финал
D
Playlist
Codeforces
1900
原题
← CE →
翻译中…

Arkady has a playlist that initially consists of $n$ songs, numerated from $1$ to $n$ in the order they appear in the playlist. Arkady starts listening to the songs in the playlist one by one, starting from song $1$. The playlist is cycled, i. e. after listening to the last song, Arkady will continue listening from the beginning.

翻译中…

Each song has a genre $a_i$, which is a positive integer. Let Arkady finish listening to a song with genre $y$, and the genre of the next-to-last listened song be $x$. If $\operatorname{gcd}(x, y) = 1$, he deletes the last listened song (with genre $y$) from the playlist. After that he continues listening normally, skipping the deleted songs, and forgetting about songs he listened to before. In other words, after he deletes a song, he can't delete the next song immediately.

翻译中…

Here $\operatorname{gcd}(x, y)$ denotes the greatest common divisor (GCD) of integers $x$ and $y$.

翻译中…

For example, if the initial songs' genres were $[5, 9, 2, 10, 15]$, then the playlist is converted as follows: [5, 9, 2, 10, 15] $\to$ [5, 9, 2, 10, 15] $\to$ [5, 2, 10, 15] (because $\operatorname{gcd}(5, 9) = 1$) $\to$ [5, 2, 10, 15] $\to$ [5, 2, 10, 15] $\to$ [5, 2, 10, 15] $\to$ [5, 2, 10, 15] $\to$ [5, 2, 10, 15] $\to$ [5, 10, 15] (because $\operatorname{gcd}(5, 2) = 1$) $\to$ [5, 10, 15] $\to$ [5, 10, 15] $\to$ ... The bold numbers represent the two last played songs. Note that after a song is deleted, Arkady forgets that he listened to that and the previous songs.

翻译中…

Given the initial playlist, please determine which songs are eventually deleted and the order these songs are deleted.

翻译中…

Input

翻译中…

Each test contains multiple test cases. The first line contains the number of test cases $t$ ($1 \le t \le 10\,000$). Description of the test cases follows.

翻译中…

The first line of each test case contains a single integer $n$ ($1 \le n \le 10^5$) — the number of songs.

翻译中…

The second line contains $n$ integers $a_1, a_2, \ldots, a_n$ ($1 \le a_i \le 10^9$) — the genres of the songs.

翻译中…

It is guaranteed that the sum of $n$ over all test cases does not exceed $10^5$.

翻译中…

Output

翻译中…

For each test case, print a single line. First, print a single integer $k$ — the number of deleted songs. After that print $k$ distinct integers: deleted songs in the order of their deletion.

翻译中…

Note

翻译中…

Explanation of the first test case is given in the statement.

翻译中…

In the second test case, the playlist is converted as follows: [1, 2, 4, 2, 4, 2] $\to$ [1, 2, 4, 2, 4, 2] $\to$ [1, 4, 2, 4, 2] (because $\operatorname{gcd}(1, 2) = 1$) $\to$ [1, 4, 2, 4, 2] $\to$ [1, 4, 2, 4, 2] $\to$ [1, 4, 2, 4, 2] $\to$ [1, 4, 2, 4, 2] $\to$ [1, 4, 2, 4, 2] $\to$ [4, 2, 4, 2] (because $\operatorname{gcd}(2, 1) = 1$) $\to$ [4, 2, 4, 2] $\to$ ...

翻译中…

In the third test case, the playlist is converted as follows: [1, 2] $\to$ [1, 2] $\to$ [1] (because $\operatorname{gcd}(1, 2) = 1$) $\to$ [1] $\to$ [1] (Arkady listened to the same song twice in a row) $\to$ [] (because $\operatorname{gcd}(1, 1) = 1$).

翻译中…

The fourth test case is same as the third after deletion of the second song.

翻译中…

In the fifth test case, the same song is listened to over and over again, but since $\operatorname{gcd}(2, 2) \ne 1$, it is not deleted.

翻译中…

样例

Input #1
5
5
5 9 2 10 15
6
1 2 4 2 4 2
2
1 2
1
1
1
2
Output #1
2 2 3
2 2 1
2 2 1
1 1
0
InputCopy OutputCopy
题目信息
题号
1482D
时间限制
2 s
内存限制
256 MB
标签
数据结构
并查集
模拟
最短路

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。