유행성 독감

시간 제한1초메모리 제한128 MB

문제

상근이가 사는 마을에 유행성 독감이 퍼지기 시작했다. 마을에는 총 $M$ 명이 살고, 각 사람은 $0$ 번부터 $M-1$ 번까지 번호가 매겨져 있다. 독감은 딱 하루만 앓는다. 따라서 한 사람이 (서로 다른 날에) 여러 번 독감에 걸릴 수 있다.

독감은 다른 마을에 놀러 갔다 돌아온 사람들이 퍼뜨렸다. 이 사람들의 번호는 모두 알려져 있고, 첫째 날에 독감에 걸린 사람은 바로 이들뿐이다.

둘째 날부터는 매일 다음 규칙으로 독감이 퍼진다. 바로 이전 날에 독감에 걸린 사람 $a$ 와 첫째 날에 걸린 사람 $b$ 에 대해, 번호가 $p = (a \times b) \bmod M$ 인 사람 $p$ 가 모두 독감에 걸린다. 이때 $a$ 와 $b$ 는 같아도 된다.

예를 들어 마을에 $101$ 명이 살고 첫째 날에 걸린 사람이 $5$ 와 $50$ 이라고 하자. 둘째 날에 걸리는 사람은 $25$, $48$ ($250 \bmod 101$), $76$ ($2500 \bmod 101$) 이다. 셋째 날에 걸리는 사람 중 하나는 $77$ 이다 ($(48 \times 50) \bmod 101$).

$K$ 일째에 독감에 걸려 있는 사람을 모두 구하는 프로그램을 작성하시오.

입력

첫째 줄에 세 정수 $K$, $M$, $N$ 이 주어진다 ($1 \le K \le 10^{18}$, $3 \le M \le 1500$, $N < M$). $N$ 은 첫째 날에 독감에 걸린 사람의 수이다.

둘째 줄에는 첫째 날에 독감에 걸린 사람들의 번호가 공백으로 구분되어 주어진다.

출력

첫째 줄에 $K$ 일째에 독감에 걸려 있는 사람의 번호를 공백으로 구분하여 오름차순으로 출력한다.