preprocessing + interval tree
suffix array