class point():
    def __init__(self,x,y):
        self.x = x
        self.y = y
def isxiangjiao(a,b,c,d):
    fc = (c.y-a.y)*(a.x-b.x)-(c.x-a.x)*(a.y-b.y)
    fd = (d.y-a.y)*(a.x-b.x)-(d.x-a.x)*(a.y-b.y)
    if(fc*fd>0):
        return False
    return  True
import sys 
import collections
if __name__ == "__main__":
    t = int(sys.stdin.readline().strip())
    for i in range(t):
        n = int(sys.stdin.readline().strip())
        roaddict = collections.defaultdict(set)
        roadpos = []
        count = 1
        for j in range(n):
            line = sys.stdin.readline().strip().split()
            if(line[0]=='T'):
                x1,y1,x2,y2 = int(line[1]),int(line[2]),int(line[3]),int(line[4])
                pointa = point(x1,y1)
                pointb = point(x2,y2)
                roadpos.append([pointa,pointb])
                if(count==1):
                    roaddict[count].add(count)
                    count+=1
                else:
                    visited = set()
                    for tmpi in range(1,len(roadpos)+1):
                        pointc = roadpos[tmpi-1][0]
                        pointd = roadpos[tmpi-1][1]
                        if(tmpi not in visited and isxiangjiao(pointa, pointb, pointc, pointd)):
                            visited.add(tmpi)
                            roaddict[tmpi].add(count)
                            roaddict[count].add(count)
                            for tmp in roaddict[tmpi]:
                                visited.add(tmp)
                                roaddict[tmp].add(count)
                                roaddict[count].add(tmp)
                    for tmp in roaddict[count]:
                        roaddict[tmp] = roaddict[count]
                    count+=1
            if(line[0]=='Q'):
#                 print(roaddict)
                queryvale = int(line[1])
                print(len(roaddict[queryvale]))
        print()