수영장
면접 대비시간 제한2초메모리 제한1024 MB
면적 C가 서로 다른 두 소수의 곱일 때, 목록에서 그 두 소수를 찾아 작은 값부터 출력합니다.
문제
내일 프로그래밍 학교 산술학과가 건물 지하에 새 수영장을 지을 예정이다. 이 수영장은 주로 새로운 부동 소수점 연산 알고리즘을 시험하는 데 쓰이며, 특히 여러 액체에서 부동 특성이 어떻게 나타나는지 살핀다. 때때로 직원들도 수영장에 들어갈 수 있다. 사람에게 맞게 쓰려면 학과가 수영장 치수를 정해야 한다. 수영장은 직사각형이어야 하며 정사각형이면 안 된다. 표면적 는 그곳에서 시험할 알고리즘에 따라 정확히 정해져 있다. 수영장을 짓는 회사는 가능한 변의 길이 목록을 제시했고, 목록의 길이만으로 주어진 넓이의 수영장을 만들 수 있다고 보장한다. 어떤 조합을 쓸지는 학과가 정한다.
목록이 꽤 길어서 학과는 쓸 수 있는 길이를 찾을 주니어 프로그래머를 고용했다. 그는 일을 시작하기 전에 두 가지를 관찰했다. 첫째, 제시된 모든 변의 길이는 소수다. 둘째, 표면적 는 서로 다른 두 소수의 곱이다. 이 정보가 적절한 길이를 빠르게 찾는 데 도움이 될 수 있다고 그는 생각한다. 그보다 먼저 이 문제를 풀어 보라.
입력
첫째 줄에 수영장 표면적을 나타내는 정수 ()가 주어진다. 둘째 줄에 회사가 제시한 변의 길이의 개수 ()이 주어진다. 셋째 줄에 서로 다른 소수 ()이 공백으로 구분되어 주어진다. 모든 길이는 같은 단위로 표시되어 있다.
출력
제시된 길이 중에서 수영장을 만드는 데 쓸 수 있는 두 변의 길이를 공백으로 구분하여 한 줄에 출력한다. 앞의 길이는 뒤의 길이보다 작아야 한다.