Codeforces Round 918 (Div. 4) |
---|
Закончено |
Лура скучала и решила создать простой язык, используя пять букв $$$\texttt{a}$$$, $$$\texttt{b}$$$, $$$\texttt{c}$$$, $$$\texttt{d}$$$, $$$\texttt{e}$$$. Существуют два типа букв:
Слово в языке — это последовательность слогов. Лура написала слово на этом языке, но не знает, как разбить его на слоги. Помогите ей разбить слово на слоги.
Например, для слова $$$\texttt{bacedbab}$$$ оно будет разбито на слоги как $$$\texttt{ba.ced.bab}$$$ (точка $$$\texttt{.}$$$ обозначает границу слога).
Ввод состоит из нескольких наборов входных данных. Первая строка содержит целое число $$$t$$$ ($$$1 \leq t \leq 100$$$) — количество наборов входных данных. Затем следуют описания наборов.
Первая строка каждого набора содержит целое число $$$n$$$ ($$$1 \leq n \leq 2 \cdot 10^5$$$) — длина слова.
Вторая строка каждого набора содержит строку, состоящую из $$$n$$$ строчных латинских символов — слово.
Все предоставленные слова являются допустимыми словами в языке; то есть, они используют только буквы $$$\texttt{a}$$$, $$$\texttt{b}$$$, $$$\texttt{c}$$$, $$$\texttt{d}$$$, $$$\texttt{e}$$$, и каждое слово состоит из нескольких слогов.
Сумма $$$n$$$ по всем тестам не превышает $$$2 \cdot 10^5$$$.
Для каждого набора входных данных выведите строку, обозначающую слово, разбитое на слоги, вставив точку $$$\texttt{.}$$$ между каждой парой смежных слогов.
Если существует несколько возможных разбиений, выведите любое из них. Ввод предоставлен таким образом, что по крайней мере одно возможное разбиение существует.
68bacedbab4baba13daddecabeddad3dac6dacdac22dababbabababbabbababba
ba.ced.bab ba.ba dad.de.ca.bed.dad dac dac.dac da.bab.ba.ba.bab.bab.ba.bab.ba
Название |
---|