#H1002. 处理

处理

题目背景

小明在破坏一个字符串。

题目描述

有一个字符串,它的内容是一段话。但小明拿到了这个字符串,并对它进行了破坏。因此,你面对的会是一个大小写混乱,并掺杂了数字和特殊字符的字符串。 你要对它进行处理,让它尽可能恢复到原来的样子。

  • 定义“单词”表示被空格和特殊字符划分出来的一段连续的只包含字母或者数字的字符串,特别的,如果划分出来的一段字符全是数字,那它不是单词
  • 特殊字符定义为:输入中除了大小写字母和数字 090\sim9 以外的所有字符。

具体地,你要进行以下操作:

  • 对于所有的单词,你需要先把它里面的 1\mathrm{1} 变为 I\mathrm{I}0\mathrm{0} 变为 O\mathrm{O},然后再把所有的大写字母变为小写。例如,A1r\textrm{A1r} 应变为 air\textrm{air}

之后,你要输出你修改完之后的字符串。输出时,输出每一个划分出来的单词或纯数字特殊字符正常输出

并且,你还要输出修改完的字符串中出现次数最多的单词是什么,如果出现次数最多的单词有多个,输出字典序最小的那一个。不过,如果你只完成了字符串处理,也可以获得一半的分数。

输入格式

第一行一个整数 nn,表示字符串长度。

第二行一个长度为 nn 的字符串,表示待处理的字符串。

输出格式

第一行一个长度为 nn 的字符串,表示处理后的字符串。

第二行一个字符串,表示出现次数最多的单词。如果你只完成了字符串处理,可以不输出这一行,也可以随意输出一个字符串。

16
W0 A1 b1An ChEng
wo ai bian cheng
ai
53
gEnSH1n 1mPAct 1S a GamE dEvel0Ped BY m1hOY0 1N 2020.
genshin impact is a game developed by mihoyo in 2020.
a
12
ana515 365b1
ana5i5 365bi
365bi

样例2解释

虽然 2020\textrm{2020} 的出现次数跟 a\textrm{a} 的出现次数一样多,且字典序更小。但 2020\textrm{2020} 不是单词,因此第二行应该输出 a\textrm{a}

数据范围

对于 100%100\% 的数据,保证 1n2×1051\le n\le 2\times 10^5,输入的字符串只包含小写字母、大写字母、数字、英文句点、英文逗号、英文感叹号、英文问号、空格,且不以空格开头或结尾,输入的字符串中的每个单词都只包含小写字母、大写字母、数字 09\mathrm{0\sim9}

测试点编号 nn\le 特殊性质
11 2020 保证出现次数最多的单词只有一个
22 100100 保证输入不包含空格
33 10001000
44 2×1052\times 10^5
55

大样例

大样例下载