import math import sys if "f" in locals(): inputA=f else: inputA=sys.stdin ins=[] for line in inputA: ins.append(line) def findNext(gp,index,priviousEnd): n = len(gp) for i in range(index+1, n): t = gp[i] if t[0] >= priviousEnd: return (t[1],i) return (100000000000,1000) def getResult(names,starts,ends): n =len(names) re = [-1] *n gp1 =[] gp2 =[] for i in range(n): if names[i] in ["E","C"]: gp1.append([starts[i],ends[i]]) else: gp2.append([starts[i],ends[i]]) gp1=sorted(gp1,key=lambda x: x[1]) gp2=sorted(gp2,key=lambda x: x[1]) dp1 = [float("inf")] *(n+1) dp2 = [float("inf")]*(n+1) dp =[float("inf")]*(n+1) dp1[0]=dp2[0] =dp[0]=[0,-1,-1] for i in range(1,n+1): dp11Index = dp1[i-1][1] +1 dp11= float("inf") if dp11Index