LEX_GCD
시간 제한1.5초메모리 제한1024 MB
정수 수열의 원소 하나에 소수 X를 곱할 수 있을 때, K-gcd 동치인 순열 중 사전순으로 가장 작은 수열을 구합니다.
문제
주어진 양의 정수 개의 수열 에 대해, 사전순으로 가장 작은 -gcd 동치 순열을 구하세요. 서로 순열 관계에 있는 두 수열 와 는, 1부터 까지의 인덱스 중 서로 다른 개를 고를 때마다 그 위치의 원소들의 gcd가 두 수열에서 같으면 -gcd 동치입니다.
탐색하기 전에 의 원소 중 최대 하나에 주어진 정수 를 곱할 수 있습니다. 곱하지 않고 그대로 둘 수도 있습니다. 는 1 또는 소수이므로 약수는 1과 뿐입니다. 원소를 곱했다면, 결과는 곱한 뒤의 에 대한 -gcd 동치 수열이어야 하며 gcd도 곱한 뒤의 값으로 계산합니다.
입력
첫 줄에 테스트 케이스 수 가 주어집니다. 각 테스트 케이스는 정수 , , 와 이어서 주어지는 양의 정수 개 로 이루어집니다.
출력
각 테스트 케이스마다, 선택적 전처리를 거친 에 대한 사전순 최소 -gcd 동치 수열의 정수 개를 출력합니다.
제한
- (모든 테스트 케이스의 합)
- , 는 1 또는 소수