200215 - 骑士的工资

Time Limit

750 毫秒

Memory Limit

128 MB

通过次数

19

提交次数

63

神犇在刷“骑士的工资”这道题时灵感爆发,决定写一个小游戏:骑士接金币。游戏可以看做在一个矩阵中进行,开始时骑士在坐标原点(0,0)处,并且只能左右移动,在坐标x_i,y_i落下金币,金币每秒下落一个格子,骑士每秒可以移动一个格子,当骑士和金币在同一位置时骑士将获得该枚金币。神犇有k组金币初始位置的数据,他需要保证所有金币能被骑士接到,否则大家就不会愿意玩这个游戏。

Input

第一行,一个正整数k,表示数据组数。

接下来k组数据,每组数据:

第一行,一个正整数n,表示金币个数。

接下来n行,每行有当个空格分隔的两个整数x_i,y_i,分别表示第i枚金币的x,y坐标。

对于100%的数据: 1\le k \le 2

1 \le n \le 10^6

-1\cdot 10^3 \le x_i,y_i \le 1\cdot 10^8

Output

k行,每行一个字符串。如果能接住该组全部金币,输出"^o^";否则,输出"BUG"。

Examples

Input

2
3
1 1
2 2
-5 8
3
1 1
2 2
-5 9

Output

BUG
^o^

Hint

1、多组数据时,每组数据计算前应重新初始化所使用的变量,以避免之前存储的内容影响这次计算。

2、本题可以只遍历一次数组就得到结果。