B 禁忌的联盟 (lol)
题目描述
在遥远的尤里安大陆上,流传着一种古老的召唤术。召唤师通过排列不同的「符石」组成法阵,召唤出强大的魔灵。
每块符石都有两个属性:
- 「源印」编号
:表示它的魔源流派; - 「能核」值
:决定它与其他符石的共鸣能力。
要组成一个强大且稳定的召唤链,必须满足两条禁忌规则:
- 相邻的符石 源印不同,即相邻的
不相等,用数学表达式表示为 ; - 相邻的符石 能核共鸣,即相邻的
与 满足 ,其中 表示最大公约数。
你手中有
请你计算并输出该最大长度。
输入格式
- 第一行一个整数
,表示符石数量。 - 接下来
行,每行两个整数 , ( ),表示第 块符石的源印与能核值。
输出格式
输出一个整数,表示最大合法子序列的长度。
样例
样例输入 1
10
2 1
3 2
6 3
10 2
8 3
9 2
6 4
3 5
2 2
10 1样例输出 1
7样例输入 2
10
10 10
9 10
8 8
4 7
5 2
1 7
7 3
3 9
6 9
2 4样例输出 2
5 数据范围与约定
| 数据点编号 | 特殊性质 |
|---|---|
对于所有测试数据中,满足:
-
; -
对于所有
, ,有 。