#jag2017summerday3k. [jag2017summer_day3_k]Permutation Period
[jag2017summer_day3_k]Permutation Period
问题描述
你有一个包含 个整数的排列 。初始情况下,对于 ,有 。对于每个 (),记 , 对于任意 。 的"周期"定义为满足对于所有 (),都有 的最小正整数 。
给定 个查询。第 个查询的特征是两个不同的索引 和 。对于每个查询,交换 和 ,然后按照给定的顺序计算更新后的 的周期模 。
可以证明 的周期总是存在。
输入
输入是以下格式的单个测试用例。
第一行包含两个整数 和 ()。-th 行包含两个整数 和 ()。
输出
对于每个查询,输出一行答案。
样例输入 1
5 4
2 5
2 4
1 3
1 2
样例输出 1
2
3
6
5
的变化如下:$\[1,2,3,4,5\] \to \[1,5,3,4,2\] \to \[1,4,3,5,2\] \to \[3,4,1,5,2\] \to \[4,3,1,5,2\]$。
样例输入 2
2 2
1 2
1 2
样例输出 2
2
1
的变化如下:\[1,2\] \to \[2,1\] \to \[1,2\]。
样例输入 3
10 10
5 6
5 9
8 2
1 6
8 1
7 1
2 6
8 1
7 4
8 10
样例输出 3
2
3
6
4
6
7
12
7
8
9