class RangeFreqQuery:
def __init__(self, arr: List[int]):
self.index = defaultdict(list)
for idx, num in enumerate(arr):
self.index[num].append(idx)
def query(self, left: int, right: int, value: int) -> int:
low = bisect.bisect_left(self.index[value], left)
high = bisect.bisect_right(self.index[value], right)
return high - low