Вам задана последовательность \(s\), состоящая из \(n\) цифр от \(1\) до \(9\).
Вам нужно разбить ее на хотя бы два отрезка (отрезок — это последовательность подряд идущих элементов) (другими словами, вам нужно поставить разделители между некоторыми цифрами последовательности) таким образом, что каждый элемент принадлежит ровно одному отрезку и если результирующее разбиение будет представлено в виду последовательности целых чисел, то каждый следующий элемент этой последовательности будет строго больше, чем предыдущий.
Более формально: если результирующее разбиение последовательности — это \(t_1, t_2, \dots, t_k\), где \(k\) — количество элементов в разбиении, то для каждого \(i\) от \(1\) до \(k-1\) должно выполняться условие \(t_{i} < t_{i + 1}\) (используется численное сравнение, то есть сравниваются численные интерпретации строк).
Например, если \(s=654\), то вы можете разбить ее на части \([6, 54]\) и это будет являться подходящим разбиением. Но если вы разобьете ее на части \([65, 4]\), то это будет являться плохим разбиением, потому что \(65 > 4\). Если \(s=123\), то вы можете разбить его на части \([1, 23]\) и \([1, 2, 3]\), но не на части \([12, 3]\).
Ваша задача — найти любое подходящее разбиение для каждого из \(q\) независимых запросов.
Выходные данные
Если последовательность цифр \(i\)-го запроса не может быть разбита на хотя бы две части способом, описанном в условии задачи, выведите единственную строку «NO» для этого запроса.
Иначе в первой строке ответа на этот запрос выведите «YES», во второй строке выведите \(k_i\) — количество элементов в вашем разбиении последовательности \(i\)-го запроса и в третьей строке выведите \(k_i\) строк \(t_{i, 1}, t_{i, 2}, \dots, t_{i, k_i}\) — ваше разбиение. Части должны быть выведены в порядке следования цифр в заданной строке. Это означает, что если записать выведенные подстроки одну за другой, сохранив их порядок, то получится строка \(s_i\).
Посмотрите в примеры для лучшего понимания.