bzoj#P2652. 三角板

三角板

题目描述

zz 有一副神奇的三角板,三角板有两种形状:宽的窄的。三角板都是等腰三角形,宽的三角板底边为高的两倍,窄的三角板底边和高相等。

zz 要把 nn 个三角板依次放在桌面上。桌面可以抽象为一个平面直角坐标系,zz 把第 ii 个三角板的底边置于 xx 轴上(yy 坐标为 00),它的顶点坐标为 (xi,yi)(x_i,y_i),那么,根据三角板的形状,就可以得到另外两个点的坐标了。

每放完一个三角板,zz 就会数一遍,目前看得到几个三角板的顶点,如果顶点在其他三角板内(包括边界),zz 是看不见的。并且,当摆放第 ii 个三角板时,如果(xi,yi)(x_i,y_i) 已经位于某三角板内,zz 认为,这个三角板是放不下的,他便不会放入该三角板。然而zz的三角板实在太多了,你能帮帮他吗?

输入格式

输入的第一行包含一个整数 nn。接下来 nn 行表述每个三角板,第 ii 行包含两个整数 xi,yix_i,y_i 和一个字符 W\text{W} (代表宽的三角板)或 N\text{N}(代表窄的三角板)。

输出格式

输出 nn 行。若是第 ii 个三角板能放得下,则输出一个整数,代表放入第 ii 个三角板后看得见几个顶点;否则输出字符串 FAIL\text{FAIL} (都为大写字母)

样例

3
0 1 W
0 2 N
0 1 W
1
1
FAIL

数据规模与约定

对于 30%30\% 的数据满足:n103n\le 10^3

对于 70%70\% 的数据满足:n4×104n\le 4\times 10^4

对于 100%100\% 的数据满足:1n105,0xi109,1yi1091\le n\le 10^5,0\le |x_i|\le10^9,1\le y_i\le 10^9