У вас есть две IP-камеры одинаковой модели. Каждая камера может снимать фото с определенным периодом, начиная с какого-то заданного момента. Вы можете сами выбрать, в какой момент будет снято первое фото, но период должен быть равен одному из \(k\) значений \(p_1, p_2, \dots, p_k\), установленных производителем.
Есть \(n\) интересующих вас моментов времени \(x_1, x_2, \dots, x_n\). Вы хотите настроить камеры таким образом, что в каждый из этих моментов хотя бы одна из камер фотографирует обстановку. Чтобы настроить камеру, вы должны выбрать момент, когда она снимет первое фото, и интервал между двумя фотографиями (который должен быть равен одному из значений \(p_1, p_2, \dots, p_k\)). Камеры могут снимать фото и в моменты, которые вас не интересуют.
Выходные данные
Выведите YES (без учета регистра) в первой строке, если существует способ настроить камеры.
Во второй строке выведите два целых числа \(s_1\) и \(cp_1\) (\(1 \le s_1 \le 10^6\); \(1 \le cp_1 \le 10^6\); \(cp_1 \in \{p_1, \dots, p_k\}\)) — момент, когда первая камера делает первый снимок, и период первой камеры. Период должен быть равен одному из заданных производителем возможных значений периода.
В третьей строке выведите два целых числа \(s_2\) и \(cp_2\) (\(1 \le s_2 \le 10^6\); \(1 \le cp_2 \le 10^6\); \(cp_2 \in \{p_1, \dots, p_k\}\)) — момент, когда вторая камера делает первый снимок, и период второй камеры. Период должен быть равен одному из заданных производителем возможных значений периода.
Если не существует способа настроить камеры, выведите NO (без учета регистра). Если существует несколько способов, вы можете вывести любой из них.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
3 5 3 5 7 1 4 5 7 12
|
YES
1 3
5 7
|
|
2
|
3 2 1 2 3 1 10
|
YES
1 1
10 1
|
|
3
|
3 4 1 2 3 5 7 9 11
|
YES
5 1
5 1
|
|
4
|
3 4 10 20 100 2 3 4 7
|
NO
|