如今,5G 移动通信标准正在全球范围内普及。但进步永无止境,Lucifer 实验室的研究人员正在努力开发一种新的通信标准。这项开发成果极具创新性,以至于他们决定将新标准命名为 666G,而不是 6G。研究人员声称,这项技术甚至能让人联络到撒旦本人。
这项新技术可以描述如下:$k$ 个通信塔(可视为平面上的点)位于一个凸 $k$ 边形的顶点上。任意五个不同的塔构成一个五角星的顶点,并允许为五角星各边所围成的五边形内部的用户提供服务。
你的任务是使用一个模型示例来测试通信塔的负载。假设有 $n$ 个用户,他们可以被视为位于由 $k$ 个通信塔构成的凸 $k$ 边形内部平面上的点。我们假设用户的位置不会改变。对于每个用户,已知其当前是否处于活跃状态。
此外,按时间顺序排列着 $q$ 个事件,事件分为两类:
- 编号为 $t$ 的用户改变其活跃状态。即,如果该用户之前是活跃的,则变为不活跃,反之亦然。
- 对于给定的五个不同的通信塔,需要确定由这五个塔服务的活跃用户数量。
你需要模拟所有事件并响应所有第 2 类请求。
输入格式
第一行包含一个整数 $k$ —— 通信塔的数量 ($5 \le k \le 30$)。
接下来的 $k$ 行,第 $i$ 行包含两个整数 $X_i$ 和 $Y_i$ —— 第 $i$ 个通信塔的坐标。保证通信塔位于一个严格凸 $k$ 边形的顶点上,即任意三点不共线。塔的坐标按遍历该 $k$ 边形的顺时针顺序给出。
接下来一行包含一个整数 $n$ —— 用户的数量 ($1 \le n \le 50\,000$)。
接下来的 $n$ 行,第 $i$ 行包含三个整数 $x_i, y_i$ 和 $z_i$ —— 第 $i$ 个用户的坐标及其活跃状态。$z_i = 1$ 表示第 $i$ 个用户处于活跃状态,$z_i = 0$ 表示不活跃。保证所有用户都严格位于由通信塔构成的凸 $k$ 边形内部。没有用户位于连接任意两个通信塔的线段上。
接下来一行包含一个整数 $q$ —— 事件的数量 ($1 \le q \le 50\,000$)。
接下来的 $q$ 行,每行描述一个事件。第 1 类事件格式为 “1 $t$”,其中 $t$ 是活跃状态发生改变的用户编号 ($1 \le t \le n$)。第 2 类事件格式为 “2 $a_i$ $b_i$ $c_i$ $d_i$ $e_i$”,其中 $a_i, b_i, c_i, d_i, e_i$ 是通信塔的索引,你需要确定由这五个塔服务的活跃用户数量 ($1 \le a_i < b_i < c_i < d_i < e_i \le k$)。
保证至少有一个第 2 类请求。
所有点的坐标均为整数,绝对值不超过 $5 \times 10^5$。输入中没有两个点是相同的。
输出格式
输出 $p$ 行,其中 $p$ 是第 2 类事件的数量。在第 $i$ 行,输出一个整数 —— 第 $i$ 个第 2 类查询的答案。
样例
样例输入 1
6 0 2 1 7 7 7 8 3 7 1 4 0 6 1 4 1 3 3 1 4 3 0 4 2 1 5 4 1 6 3 1 8 2 1 2 3 4 5 2 1 2 3 4 6 1 3 2 1 2 3 4 6 2 1 2 3 5 6 2 1 2 4 5 6 2 1 3 4 5 6 2 2 3 4 5 6
样例输出 1
2 2 3 3 1 0 1
说明
样例中的点配置如上图所示。