J. Деление строки
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

У вас есть строка $$$s$$$, состоящая из строчных букв латинского алфавита.

Вам нужно разделить эту строку на подстроки, удовлетворяющие следующим требованиям:

  • в каждой подстроке первая буква должна быть равна последней букве;
  • длина каждой подстроки должна быть больше единицы;
  • каждая из букв строки $$$s$$$ должна попасть ровно в одну подстроку.

Таким образом, если мы склеим в том же порядке все получившиеся подстроки, то получим исходную строку $$$s$$$.

Подстрока строки $$$s$$$ — это непустая последовательность подряд идущих букв строки $$$s$$$.

Например, строку aadddzxxz можно разделить на подстроки aa, ddd и zxxz.

Определите максимальное количество подстрок, на которые можно разделить строку $$$s$$$, а также размеры каждой из этих подстрок. Если разделить строку $$$s$$$ описанным образом невозможно, сообщите об этом.

Входные данные

В первой строке следует целое число $$$n$$$ ($$$2 \le n \le 4 \cdot 10^5$$$) — длина строки $$$s$$$.

Во второй строке следует строка $$$s$$$ длины $$$n$$$, состоящая из строчных букв латинского алфавита.

Выходные данные

Если невозможно разделить строку на подстроки длины большей единицы, начинающиеся и заканчивающиеся на одну и ту же букву, выведите $$$-1$$$.

В противном случае, в первую строку выведите $$$k$$$ — максимальное число подстрок, на которые можно разделить строку $$$s$$$. Во вторую строку выведите $$$k$$$ целых чисел — размеры подстрок, на которые можно разделить строку $$$s$$$, в порядке слева направо. Сумма выведенных $$$k$$$ чисел должна быть равна $$$n$$$.

Примеры
Входные данные
4
aaaa
Выходные данные
2
2 2 
Входные данные
15
abcbcaccbbcabca
Выходные данные
3
6 5 4 
Входные данные
4
abcd
Выходные данные
-1
Входные данные
5
abcda
Выходные данные
1
5 
Примечание

В первом примере можно разделить строку на две подстроки длины два, каждая из которых будет начинаться и заканчиваться буквой a.

Во втором примере можно разделить строку на три подстроки abcbca, ccbbc и abca.