CF1003F Abbreviation

题目描述

有 $n$ 个单词($w_i$),它们通过空格拼接成了一个字符串 $s$。 例如有 $3$ 个单词 `hello`, `oi`和 `world`,它们拼成了字符串`hello oi world`。 定义区间相等 $s[a..b] =s[c..d]$ 当且仅当由 $w_i,a\le i \le b$ 拼接成的字符串与 $w_j, c\le j \le d$ 拼接成的字符串相等。 你可以将相等的若干个区间(至少两个)进行**缩写**操作,具体地,用该区间内所有单词的大写首字母替代单词及空格。例如,`abc a abc a abc` 中,有 3 段相等的 `abc`,可以**缩写**成 `A a A a A`。也有 2 段相等的 `a abc`,可以**缩写**成 `abc AA AA`。 问至多进行 1 次**缩写**操作后,字符串 $s$ 的长度最小是多少?

输入格式

第 1 行,输入一个正整数 $n$。($1 \le n \le 300$) 接下来一行,依次输入 $n$ 个用空格隔开的单词 $w_i$。数据保证单词总长度不超过 $10^5$。

输出格式

一行一个正整数,表示答案。

说明/提示

In the first example you can obtain the text "TB or not TB". In the second example you can obtain the text "a AAAB AAAB c". In the third example you can obtain the text "AB aa AB bb".