/ GMQ OJ / 题库 /

最长回文子序列

最长回文子序列

Background

小 Z 上英语课思考数学问题被英语老师发现啦~

英语老师:「你这么爱胡思乱想我问你一道英语题吧」

小 Z 想跑,但是已经来不及了。

英语老师:「我们定义一个回文串是正方读起来相同的字符串」

小 Z:「这个简单,不就是像 "abba" "aba"这样的吗」

英语老师:「现在给你一个长度为 n 的字符串,要你求出他的最长回文子序列」

小 Z:「子序列是不连续的吧? 好的我知道了」

小 Z 轻松的解决了这个问题,并把他修改了一下交给你。

Description

现在一个字符串变成了 m 个数字,会魔法的小 Z 可以把一个数字 x 根据变换规则变成 y,给定所有的变换规则,要你求出这个数字串的最长回文子序列。

Format

Input

第一行输入 3 个正整数 n,k 和 m,k 是转换规则的个数。
第二行开始的 k 行,每行两个正整数 x 和 y,表示数字 x 可以变成数字 y, 并且数字 y 可以变成数字 x。注意,如果数字 x 可以变成数字 y,并且数字 y 可以变成数字 z,那么数字 x 也可以便成数字 z。x 可能等于 y,同一对(x, y)可能重复出现。
最后一行输入 m 个正整数,表示题目中所提的数字串,每个数 ≤ n。

Output

输出一行一个数表示答案。

Sample 1

Input

10 7 6
1 3
5 7
3 5
2 6
2 4
8 4
10 9
1 9 2 3 10 3

Output

5

Limitation

对于 20% 的数据:n,k,m ≤ 10;

对于 40% 的数据:n,k,m ≤ 200;

对于 100% 的数据:n ≤ 10^5,k ≤ 10^6,m ≤ 10^3,1 ≤ x,y ≤ n。

信息

ID
1006
难度
9
分类
动态规划 | 并查集 点击显示
标签
递交数
7
已通过
2
通过率
29%
上传者