#5950. 维护集合
维护集合
题目背景
小A最近沉浸在数论的奇妙世界中,他对“约数”这个概念情有独钟,甚至还脑洞大开定义了一个全新的概念——“c重约数”。现在,他带着一个关于集合维护与查询的问题来向你求助啦!
题目描述
我们都知道,若 是 的约数,则 能够被 整除,即 。
小A在此基础上定义了c重约数:若 是 的 重约数,则 能够被 整除,即 。
现在,小A需要维护一个初始大小为 的集合 ,并支持 次操作,操作共分为以下三种:
1 t:删除集合中的一个元素 ,保证该元素 在集合中存在。2 t:往集合中加入一个元素 。3 x:求出最大的 ,使得集合中存在一个数 ,是 的 重约数。注意, 可以为 。
请你帮小A处理这些操作吧!
输入格式
第 1 行包含两个正整数 ,表示初始集合大小和操作次数。
第 2 行包含 个正整数 ,表示初始集合中的元素。
随后 行,每行描述一次操作,格式如题目描述所述。保证数据合法。
输出格式
输出共 行,其中 是操作 3 的个数。每行一个整数,表示对应操作 3 的答案。
样例 #1
样例输入 #1
5 8
4 4 6 2 7
2 3
3 9
1 2
3 6
1 4
3 3
1 6
3 6
样例输出 #1
2
1
1
1
数据范围与提示
对于所有数据,保证:
| 测试点编号 | 特殊性质 | ||||
|---|---|---|---|---|---|
| 无 | |||||
| 无限制 | 无限制 | ||||
| 无限制 | 无限制 | ||||
| 无限制 | A | ||||
| 无 | |||||
特殊性质 A:保证没有操作 1 和操作 2(即集合始终不变)。