[ABC356] F - Distance Component Size Query

F - Distance Component Size Query

Time Limit: 2 sec / Memory Limit: 1024 MB

分数: 525 分

题面

给定一个整数 。对于一个初始为空的集合 ,按照顺序处理 个以下两种类型的查询:

  • 1 x: 给定一个整数 。如果 中,则从 中移除 。否则,将 加入 中。
  • 2 x: 给定一个在 中的整数 。考虑一个图,其中顶点是 中的数字,当且仅当两个数字之间的绝对差不超过 时存在一条边。打印包含 的连通分量中的顶点数。

限制条件

  • 对于每个查询,
  • 对于第二种类型的查询,给定的 在那一时刻在 中。
  • 所有输入值都是整数。

输入

输入以以下格式从标准输入给出:




每个查询按以下格式给出:

输出

处理查询。


输入样例 1

7 5
1 3
1 10
2 3
1 7
2 3
1 10
2 3

输出样例 1

1
3
2

查询处理过程如下:

  • 在第一个查询中,将 添加到 中,结果为
  • 在第二个查询中,将 添加到 中,结果为
  • 在第三个查询中,考虑一个顶点为 ,没有边的图。包含 的连通分量的大小为 ,因此打印
  • 在第四个查询中,将 添加到 中,结果为
  • 在第五个查询中,考虑一个顶点为 之间, 之间有边。包含 的连通分量的大小为 ,因此打印
  • 在第六个查询中,将 中移除,结果为
  • 在第七个查询中,考虑一个顶点为 ,它们之间有一条边。包含 的连通分量的大小为 ,因此打印

输入样例 2

11 1000000000000000000
1 1
1 100
1 10000
1 1000000
1 100000000
1 10000000000
1 1000000000000
1 100000000000000
1 10000000000000000
1 1000000000000000000
2 1

输出样例 2

10


输入样例 3

8 0
1 1
1 2
2 1
1 1
1 2
1 1
1 2
2 1

输出样例 3

1
1

0条搜索结果。