在神秘的 Bubbledonia 国度,泡泡巫师们每年都会举办一场盛大的盛典,以庆祝魔法三角形的诞生。这些三角形非常特殊,因为它们的任何一条边都不能与划分王国的魔法 $Ox$ 和 $Oy$ 坐标轴的方向完全平行。今年,巫师们向你这位年轻的学徒发起了挑战,帮助他们管理并追踪这些三角形在一个宏大的二维平面上的创建与移除。
魔法平面初始时完全为空。随着时间的推移,平面上会不断添加或移除不同的点。每当三个点构成一个面积为正的三角形(即三点不共线),且其任何一条边都不平行于 $Ox$ 或 $Oy$ 轴时,它就被称为一个魔法三角形。
你的任务是处理 $Q$ 次更新,每次更新中你需要在平面上添加或移除一个点。在每次更新后,你必须报告此时平面上存在多少个魔法三角形。你能否协助巫师们记录这些魔法三角形的数量?
输入格式
第一行包含一个整数 $Q$,表示更新的次数($1 \le Q \le 3000$)。
接下来的 $Q$ 行,每行包含三个整数 $T$、$X$ 和 $Y$,分别表示更新的类型以及平面上点的坐标($1 \le X, Y \le 10^5$)。
- $T = 1$ 表示添加点 $(X, Y)$。
- $T = 2$ 表示移除点 $(X, Y)$。
- 如果一个点已经存在于平面上,则不会重复添加。
- 如果一个点不存在于平面上,则不会被移除。
输出格式
对于每次更新,在执行更新(添加或移除点)之后,输出当前平面上的点所能组成的魔法三角形的数量。
样例
输入样例 1
6 1 1 2 1 2 1 1 3 3 1 1 1 1 4 5 2 2 1
输出样例 1
0 0 1 1 4 2