class SegmentTree: def __init__(self,n,initial_value=0): self.n=n self.tree=[initial_value]*(2*n) def build(self,arr): for i in range(self.n): self.tree[self.n+i]=arr[i] for i in range(self.n-1,0,-1): self.tree[i]=max(self.tree[2*i],self.tree[2*i+1]) def update(self,index,value): index+=self.n self.tree[index]=value while index>1: self.tree[index//2]=max(self.tree[index],self.tree[index^1]) index//=2 def query(self,left,right): left+=self.n right+=self.n max_val=float('-inf') while left1: m=(ok+ng)//2 l=y-m+1 r=y if st.query(l,r+1)==1: ok=m else: ng=m print("FS"[ok%2] if ok