luogu#P10394. 接连不断!

接连不断!

题目背景

小青蛙被关进了监狱的小黑屋里,他遭受了接连不断的折磨,无论是肉体上还是精神上。

他的精神萎靡不振,他的身体行动迟缓。

有些东西被暂时的压制了,但这些东西越是被压制,它反弹时威力就越大。

他需要一个契机。

题目描述

青蛙有 m+1m+1 个无向图,编号为 0m0\sim m。每个图的点集都是 VV,点集 VV 包含 nn 个点,编号为 0n10\sim n-1。起初所有的图都没有边存在。

接下来,在编号为 xx 的图中,对于所有在 [0,n1][0, n - 1] 中的编号 ii,青蛙会将编号为 ii 的点与编号为 (ix)modn(i\cdot x)\bmod n 的点连一条无向边。

他想知道这 m+1m+1 个图中有多少个图是连通的,这个问题交给你来回答。

注:

  1. mod\bmod 表示取模,amodba\bmod b 表示 aa 除以 bb 得到的余数。
  2. 在一张图中,若在点集内任意两个不同的点 x,yx, y 之间存在至少一条路径,则我们称这个图是连通的

输入格式

本题有多组数据

第一行一个整数 TT,表示数据组数。

接下来 TT 行,每行两个整数 n,mn,m,含义同上。

输出格式

TT 行,每行一个整数表示答案。

3
3 2
4 4
5 5
1
3
2

5
4 3
4 4
4 5
4 6
4 7
2
3
3
4
4

3
1145 1499
12344 123456
114514 1919810
2
41
17

提示

【样例 #1 解释】

询问 1:

图的编号 边集 图是否连通
00 (0,0),(1,0),(2,0)(0,0),(1,0),(2,0)
11 (0,0),(1,1),(2,2)(0,0),(1,1),(2,2)
22 (0,0),(1,2),(2,1)(0,0),(1,2),(2,1)

询问 2:

图的编号 边集 图是否连通
00 (0,0),(1,0),(2,0),(3,0)(0,0),(1,0),(2,0),(3,0)
11 (0,0),(1,1),(2,2),(3,3)(0,0),(1,1),(2,2),(3,3)
22 (0,0),(1,2),(2,0),(3,2)(0,0),(1,2),(2,0),(3,2)
33 (0,0),(1,3),(2,2),(3,1)(0,0),(1,3),(2,2),(3,1)
44 (0,0),(1,0),(2,0),(3,0)(0,0),(1,0),(2,0),(3,0)

询问 3:

图的编号 边集 图是否连通
00 (0,0),(1,0),(2,0),(3,0),(4,0)(0,0),(1,0),(2,0),(3,0),(4,0)
11 (0,0),(1,1),(2,2),(3,3),(4,4)(0,0),(1,1),(2,2),(3,3),(4,4)
22 (0,0),(1,2),(2,4),(3,1),(4,3)(0,0),(1,2),(2,4),(3,1),(4,3)
33 (0,0),(1,3),(2,1),(3,4),(4,2)(0,0),(1,3),(2,1),(3,4),(4,2)
44 (0,0),(1,4),(2,3),(3,2),(4,1)(0,0),(1,4),(2,3),(3,2),(4,1)
55 (0,0),(1,0),(2,0),(3,0),(4,0)(0,0),(1,0),(2,0),(3,0),(4,0)

所以答案分别为 1,3,21, 3, 2


【数据规模与约定】

本题开启捆绑测试。

Subtask\text{Subtask} 数据范围 分数
11 n,m200n,m\le 200 1515
22 n,m3000n,m\le 3000 3030
33 n,m107n,m\le 10^7 1515
44 n3000,m1014n\le 3000,m \le10^{14}
55 n,m1014n,m\le 10^{14} 2525
  • 对于 100%100\% 的数据,保证 1T5,1n,m10141\le T\le 5,1\le n,m\le 10^{14}