https://9pdf.org/document/q2n96g7e-substring-range-reporting.html