#CF4144. 非自然语言处理

非自然语言处理

题目描述

光头强感到无聊,决定创建一种简单的语言,只使用五个字母 abcde。这种语言有两种字母类型:

  • 元音字母 — 字母 ae,用 V 表示。
  • 辅音字母 — 字母 bcd,用 C 表示。

这种语言有两种音节类型:CV(辅音后跟元音)或 CVC(元音之前之后都有辅音)。例如,bacedbab 是音节,但 aaedababa 则不是。

一个单词是语言中音节的序列。光头强写了一篇用这种语言写的文章,但他不知道如何将它分成音节。帮助他将单词分成音节。

例如,给定单词 bacedbab,可以将其分割成音节 ba.ced.bab(点.表示音节边界)。

输入格式

输入包含多个测试用例。第一行包含一个整数 t(1t100)t(1≤t≤100) — 测试用例的数量。接下来是每个测试用例的描述。

每个测试用例的第一行包含一个整数 n(2n2×105)n(2≤n≤2×10^5) — 单词的长度。

每个测试用例的第二行包含一个由 nn 个小写拉丁字符组成的字符串 — 单词。

所有给定的单词都是语言中的有效单词;也就是说,它们只使用字母 abcde,并且每个单词由若干音节组成。

所有测试用例中 nn 的总和不超过 2×1052×10^5

输出格式

对于每个测试用例,输出一个字符串,表示通过在相邻音节之间插入点 . 来将单词分割成音节。

如果存在多种可能的分割方式,请输出其中任意一种。输入保证至少存在一种可能的分割方式。

测试样例

6
8
bacedbab
4
baba
13
daddecabeddad
3
dac
6
dacdac
22
dababbabababbabbababba
ba.ced.bab
ba.ba
dad.de.ca.bed.dad
dac
dac.dac
da.bab.ba.ba.bab.bab.ba.bab.ba

样例说明