#codethanksfestival14qualbh. [code_thanks_festival_14_qualb_h]しりとりゲーム

[code_thanks_festival_14_qualb_h]しりとりゲーム

问题文

最近你迷上了一款略带特殊的猜词游戏,购买了一套包含一些英文单词的“猜词基础套装”。

猜词游戏的规则如下:

  • 提前确定可以在猜词游戏中使用的单词,其他单词不能使用。但是,在使用英文单词时,可以代替使用其反转形式。
  • 使用过的单词后续不能再次使用(即使使用了反转形式,原单词也不能再用)。
  • 第一轮可以自由选择任意英文单词开始。
  • 从第二轮开始,所猜的单词必须与上一轮的单词末尾字母相同。
  • 当要猜的单词无法满足条件时,游戏结束。

通常情况下,猜词游戏是多人玩的,但喜欢独处的你打算通过一人游戏的方式,使用所有的英文单词且不剩余地完成一次猜词游戏。然而,聪明的你意识到仅凭“猜词基础套装”中的单词可能无法达到目标。

因此,你计划单独购买一些额外的英文单词,并使用这些单词和“猜词基础套装”中的单词进行猜词游戏,以完成目标。请回答你需要购买的最少英文单词数量。

在你所居住的世界中,幸运的是有大量可供购买的任意英文单词,并且你可以购买所需数量的单词。

(注)在这里所说的英文单词是指由小写字母(a-z)构成的长度为2到20的字符串。请注意,这与实际英文单词的定义有所不同。


输入

输入通过标准输入给出。

NN

w1w_1

w2w_2

wNw_N

  • 第1行包含一个整数 N(1N100,000)N (1 \leq N \leq 100,000),表示“猜词基础套装”中的英文单词数量。
  • 第2行到第 NN 行,每行包含一个字符串 wi(2wi20)w_i (2 \leq |w_i| \leq 20),表示第 ii 个英文单词。wiw_i 由小写字母(a-z)构成。
  • 所有的单词保证互不相同。同时,保证一个单词的反转形式不会与另一个单词完全相同。

输出

输出一行,表示你需要购买的最少英文单词数量。不要忘记输出换行符。


输入例子1

3
soup
peas
ecir

输出例子1

1

如果只使用“猜词基础套装”中的单词,无法使用所有单词并完成游戏。

因此,例如购买单词 sugar,就可以用所有单词来进行猜词游戏:“souppeassugarrice”(最后的 rice 是反转的 ecir),从而完成目标。


输入例子2

4
ba
bc
ca
da

输出例子2

0

例如可以进行以下一轮猜词的操作:“abbccaad”,无需购买额外的英文单词。在这个例子中,使用了 bada 的反转形式。


输入例子3

13
ab
cd
ef
gh
ij
kl
mn
op
qr
st
uv
wx
yz

输出例子3

12

输入例子4

3
aa
xyz
zwx

输出例子4

1