소수 만들기

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

문제

1 이상 30 이하의 정수로 이루어진 크기 N의 배열 A가 주어진다. 배열의 모든 원소를 각각 정확히 한 번씩 사용하고, 연산자 +, -, *, /와 괄호를 원하는 만큼 사용해 하나의 식을 만들 수 있다. 만들 수 있는 값 중 가장 작은 소수와 가장 큰 소수를 구하라.

배열 A에는 같은 수가 여러 번 나올 수 있다.

예를 들어 A = {1, 2, 3}이면 가장 작은 소수는 3 - 2 + 1 = 2이고, 가장 큰 소수는 3 * 2 + 1 = 7이다.

나눗셈을 사용할 때 두 피연산자는 모두 양의 정수여야 하며, 나누어떨어지는 경우에만 정수 나눗셈으로 사용할 수 있다.

입력

첫째 줄에 배열 A의 크기 N이 주어진다. 둘째 줄에 A의 원소 N개가 공백으로 구분되어 주어진다.

출력

첫째 줄에 만들 수 있는 가장 작은 소수를, 둘째 줄에 가장 큰 소수를 출력한다. 만들 수 있는 소수가 하나도 없으면 -1만 출력한다.

제한

  • 1 ≤ N ≤ 6