#121. 六边形

六边形

Description

zty喜欢上了六边形。

从按顺时针方向,依次记六边形的边长为[x1, x2, x3, x4, x5, x6]

我们认为,六边形经过若干次旋转 / 翻转后,得到的仍是相同的六边形。

例如,[x1, x2, x3, x4, x5, x6][x6, x1, x2, x3, x4, x5][x5, x6, x1, x2, x3, x4][x1, x6, x5, x4, x3, x2][x2, x1, x6, x5, x4, x3]都描述了相同的六边形。

现在,你需要维护一个集合,支持以下两种操作:

  • 插入一个六边形
  • 询问给定六边形是否在集合中

Format

Input

第一行为一个正整数TT,表示数据组数

接下来TT行, 每行格式为

  • "I "和六个正整数, 表示向集合中插入该六边形
  • "S "和六个正整数,表示询问集合中是否含有该六边形

输入不保证给定的六条边可以构成六边形,不要纠结这个问题QAQ

Output

对于每一个查询, 若集合中有该六边形, 输出Yes; 否则, 输出No

Samples

6
I 1 2 3 4 5 6
S 1 2 3 3 2 1
I 1 2 3 3 2 1
S 3 2 1 6 5 4
I 3 2 1 6 5 4
S 5 6 1 2 3 4
No
Yes
Yes

Limitation

对于10%的数据,T1T\leq 1

对于另外40%的数据,T300T\leq 300

对于100%的数据,T5104T\leq 5* 10^4,六边形边长为不超过10510^5的非负整数