编程题
### 问题描述
小齐的牛场可以看作一个无限的二维网格,每个方格都有美味的草。有 $N$ 头牛,每头牛初始时站在不同的方格上,有的面朝北,有的面朝东。
每个小时,每头牛都会执行以下两个操作之一:
如果当前所在方格的草已经被其他牛吃光,那么停止移动,从此不再移动。
吃掉当前所在方格的草,然后向自己朝向的方向移动一个方格。
如果两头牛在同一时刻移动到同一个方格并共享这个方格,她们会一起移动到下一个方格。
小齐不喜欢看到牛停止吃草,他想知道哪头牛导致了其他牛的停止。如果牛 $b$ 在牛 $a$ 原先吃草的方格停止,那么我们说牛 $a$ 使得牛 $b$ 停止。此外,如果牛 $a$ 使得牛 $b$ 停止,而牛 $b$ 使得牛 $c$ 停止,我们也说牛 $a$ 同样使得牛 $c$ 停止(即“停止”关系是传递的)。对于每头牛,请计算她所导致的停止数量。
### 输入格式
第一行输入一个整数 $N$,表示牛的数量。
接下来的 $N$ 行描述每头牛的初始位置和朝向。每行包含一个字符($N$ 表示面朝北,$E$ 表示面朝东)和两个非负整数 $x$ 和 $y$,表示初始位置的坐标。
### 输出格式
输出 $N$ 行,第 $i$ 行表示第 $i$ 头牛所导致的停止数量。
### 样例输入
```
6
E 3 5
N 5 3
E 4 6
E 10 4
N 11 1
E 9 2
```
### 样例输出
```
0
0
1
2
1
0
```
### 评测数据规模
$0 \leq x, y \leq 10^9$。