题库练习 Gold Experience
← 上一题 下一题 →

A12506 | Gold Experience

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

Consider an undirected graph $G$ with $n$ vertices. There is a value $a_i$ in each vertex.

Two vertices $i$ and $j$ are connected with an edge if and only if $gcd(a_i, a_j) > 1$ , where $gcd(x, y)$ denotes the [greatest common divisor (GCD)](https://en.wikipedia.org/wiki/Greatest_common_divisor) of integers $x$ and $y$ .

Consider a set of vertices. Let's call a vertex in this set fair if it is connected with an edge with all other vertices in this set.

You need to find a set of $k$ vertices (where $k$ is a given integer, $2 \cdot k \le n$ ) where all vertices are fair or all vertices are not fair. One can show that such a set always exists.

输入格式

The first line contains integers $n$ and $k$ ( $6 \leq 2 \cdot k \leq n \leq 10^5$ ) — the number of vertices and parameter $k$ .

The second line contains $n$ integers $a_1, a_2, \ldots, a_n$ ( $2 \le a_i \le 10^7$ ) — the values in the vertices.

输出格式

Print exactly $k$ distinct integers — the indices of the vertices in the chosen set in any order.

输入输出样例

输入 #1
6 3
6 15 10 8 14 12
输出 #1
2 4 5
输入 #2
8 4
11 15 10 6 21 15 10 6
输出 #2
5 7 1 2
输入 #3
10 5
3003 17017 3230 49742 546 41990 17765 570 21945 36465
输出 #3
1 2 4 5 6
C++ 编辑器
输入
输出