#CPP1A. 拼接记录

拼接记录

题意:

给定 nn 行文本,按输入顺序将它们拼成一条记录,相邻两行之间放置一个字符 |。

每行中的所有字符都必须原样保留,包括开头、结尾和中间的空格。空行也是一段文本,因此它两侧的分隔符不能省略。第一段之前和最后一段之后不额外添加分隔符。

请先输出拼接后记录的字符数,再输出这条记录。换行符不属于文本内容,也不计入字符数。

输入格式:

第一行一个整数 nn(1≤n≤2×1051 \le n \le 2\times10^5),表示文本行数。

接下来恰好 nn 行,第 ii 行为文本 sis_i(0≤∣si∣≤2×1050 \le |s_i| \le 2\times10^5),仅由小写英文字母和普通空格组成,可以为空行。

保证所有文本的长度之和不超过 2×1052\times10^5。第一行的整数后直接换行。

输出格式:

第一行输出拼接后记录的字符数。

第二行输出拼接后的记录,最后换行。记录为空时,第二行是空行。

样例:

样例输入1:

4
red blue

c
end

样例输出1:

15
red blue||c|end

样例解释1:

第二段为空,但仍占据一个段的位置。文本共有 1212 个字符,再加上 33 个分隔符,记录长度为 1515。

样例输入2:

1

样例输出2:

0