Cuber QQ 正在管理一个很大的实验样品库。每个样品都有一个位置坐标和一个浓度。样品的浓度是一个分数。
实验仪器会不断发来查询,每次查询给出一个坐标区间和一个浓度阈值。Cuber QQ 需要知道:有多少个样品的位置落在这个区间内,并且浓度不超过给定阈值。
麻烦的是,实验仪器为了防止提前分析查询序列,会把每条记录加密。第 条记录的真实含义依赖上一条查询的答案,因此 Cuber QQ 必须按顺序处理这些记录。
给定常数:
,以及
。
共有 个样品。第 个样品有坐标 和浓度 。样品由输入中的九个整数 生成:
对 ,先令
然后更新
因此一定有 ,。
接下来有 条加密记录。设上一条真实查询的答案为 last,初始时 last = 0。处理第 条记录前,先计算
第 条记录包含五个整数 。令
数据保证:存在一个整数 ,满足 ,使得前 条记录解密后 ,第 条记录解密后 。第 条记录称为终止记录。终止记录之后的输入无意义,可以忽略。
- 如果 ,程序结束,不再输出。
- 如果 ,这是一条真实查询。计算
你需要输出满足下面两个条件的样品个数:
输出答案后,令 last 等于本次答案,然后继续处理下一条记录。