原始之旅
时间限制:2秒
内存限制:256 MB
输入:标准输入
输出:标准输出
由于莫蒂还有许多冒险券未使用,他决定用其中一张去往原始语言的世界。但当瑞克和莫蒂抵达时,他们发现自己完全听不懂当地的语言。不过这对瑞克来说不是问题,几分钟后,他们就有了一台能帮助他们说原始语言的设备。
过了一段时间,莫蒂发现了原始语言的一个奇特性质——某些单词可以被替换成其他单词。于是莫蒂决定帮助这个世界的居民,创造一种可以通过替换某些单词从原始语言得到的语言,并且这种语言所含的单词数量应尽可能少(因为他认为单词越少,语言就越容易学)。
当前语言中共有 $n$ 个单词,并且已知哪些单词可以被替换成哪些单词。请通过任意次替换,将当前语言转化为包含最少不同单词的语言。
输入格式
第一行给出两个整数 $n$ 和 $m$,分别表示单词数量和可能的替换数量($1 \le n, m \le 2 \cdot 10^5$)。
接下来 $n$ 行每行给出原始语言中的一个单词,每个单词的长度不超过 $10$,并且保证所有单词互不相同。
接下来 $m$ 行每行给出两个单词 $a_i$ 和 $b_i$,用空格分隔,表示可以将单词 $a_i$ 替换成单词 $b_i$。
输出格式
输出一行一个整数,表示莫蒂能够得到的语言中最少可能包含的单词数量。
样例
输入
5 5
hello
world
first
word
second
hello world
world first
world second
second first
word world
输出
1
说明
在第一个样例中,莫蒂可以通过以下变换得到只有一个单词的语言:hello $\to$ world,word $\to$ world,world $\to$ second,second $\to$ first。
经过这些变换后,语言中仅剩下一个单词:first。
