logo AlgoBeat OnlineJudge
登录 注册

#104838. [BZOJ 4838] [Lydsy1704月赛]平方计数器

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:无测试数据
上传者: 匿名

题目描述

给定一个长度为 的非负整数序列 ,你需要支持以下三种类型的操作:

  1. 给定 ,满足 ,将 依次修改为
  2. 给定 ,满足 ,将 分别修改为
  3. 给定 ,满足 ,统计 在模 意义下有多少个互不相同的数字。 现在按时间顺序给出 个操作,你需要给出第三种操作的结果。

输入格式

第一行包含一个正整数 ,表示有 组数据。

接下来依次给出每组测试数据。对于每组测试数据:

第一行包含两个正整数

第二行包含 个非负整数,表示

接下来 行按时间顺序描述所有操作。每行表示一个操作,第一个整数是 ,表示这是第 种操作,其他参数紧跟其后。

输出格式

对于每个第三种操作,输出一行一个正整数表示答案。

样例输入

1
5 6
1 2 3 4 5
3 1 5
1 1 4
1 2 3
3 2 4
2 3 5 4
3 1 5

样例输出

5
2
3

数据范围与提示

组数据满足
对于 的数据,。 鸣谢Tangjz提供试题