Вам задан массив \(a\), состоящий из \(n\) целых чисел.
Пусть \(min(l, r)\) равно минимальному значению среди \(a_l, a_{l + 1}, \ldots, a_r\), а \(max(l, r)\) равно максимальному значению среди \(a_l, a_{l + 1}, \ldots, a_r\).
Ваша задача — выбрать три таких положительных (больших \(0\)) целых числа \(x\), \(y\) и \(z\), что:
- \(x + y + z = n\);
- \(max(1, x) = min(x + 1, x + y) = max(x + y + 1, n)\).
Другими словами, вам необходимо разделить массив \(a\) на три последовательные непустые части, которые покрывают весь массив, и максимум в первой части равен минимуму во второй части, а также равен максимуму в третьей части (или же определить, что такое разбиение невозможно найти).
Среди всех возможных троек (разделений) можно выбрать любое.
Вам необходимо ответить на \(t\) независимых наборов тестовых данных.
Выходные данные
Выведите ответ на каждый набор тестовых данных: NO в единственной строке, если не существует такого разбиения \(a\), которе удовлетворяет ограничениям из условия задачи. Иначе выведите YES в первой строке и три целых числа \(x\), \(y\) и \(z\) (\(x + y + z = n\)) во второй строке.
Если существует несколько возможных ответов, вы можете вывести любой.