1class Solution:2def platesBetweenCandles(self, s: str, queries: List[List[int]]) -> List[int]:3psum, next, prev = [0] * (len(s) + 1), [inf] * (len(s) + 1), [0] * (len(s) + 1)4res = []5for i, ch in enumerate(s):6psum[i + 1] = psum[i] + (ch == "|")7prev[i + 1] = i if ch == "|" else prev[i]8for i, ch in reversed(list(enumerate(s))):9next[i] = i if ch == "|" else next[i + 1]10for q in queries:11l, r = next[q[0]], prev[q[1] + 1]12res.append(r - l - (psum[r] - psum[l]) if l < r else 0)13return res