CF1483B.Playlist

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

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

Each song has a genre aia_i , which is a positive integer. Let Arkady finish listening to a song with genre yy , and the genre of the next-to-last listened song be xx . If gcd(x,y)=1\operatorname{gcd}(x, y) = 1 , he deletes the last listened song (with genre yy ) 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 gcd(x,y)\operatorname{gcd}(x, y) denotes the greatest common divisor (GCD) of integers xx and yy .

For example, if the initial songs' genres were [5,9,2,10,15][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 gcd(5,9)=1\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 gcd(5,2)=1\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.

输入格式

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

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

The second line contains nn integers a1,a2,,ana_1, a_2, \ldots, a_n ( 1ai1091 \le a_i \le 10^9 ) — the genres of the songs.

It is guaranteed that the sum of nn over all test cases does not exceed 10510^5 .

输出格式

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

输入输出样例

  • 输入#1

    5
    5
    5 9 2 10 15
    6
    1 2 4 2 4 2
    2
    1 2
    1
    1
    1
    2

    输出#1

    2 2 3 
    2 2 1 
    2 2 1 
    1 1 
    0

说明/提示

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 gcd(1,2)=1\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 gcd(2,1)=1\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 gcd(1,2)=1\operatorname{gcd}(1, 2) = 1 ) \to [1] \to [1] (Arkady listened to the same song twice in a row) \to [] (because gcd(1,1)=1\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 gcd(2,2)1\operatorname{gcd}(2, 2) \ne 1 , it is not deleted.

首页