Позислав и Минуслав пересеклись на форуме по физике целых чисел.
Выяснилось, что их области исследований очень схожи — Позислав изучает энергетические выбросы положительных чисел, а Минуслав — энергетические всплески отрицательных чисел.
Ребята решили объединить свои усилия и провести масштабное исследование знаковой спутанности:
Ребята объединили свои записи — теперь им остаётся найти количество пар спутанных по знаку событий.
В первой строке даны два целых числа $$$n$$$ и $$$d$$$ $$$(1 \le n \le 3 \cdot 10^5; 1 \le d \le 10^9)$$$ — количество исследованных энергетических событий и наибольшая разница во времени для существования спутанности.
Вторая строка содержит $$$n$$$ целых чисел $$$t_i$$$ $$$(1 \le t_i \le 10^9)$$$ — момент времени, когда произошло $$$i$$$-е событие.
Третья строка содержит строку $$$S$$$ $$$(|S| = n)$$$ — знаки полуосей, на которых произошли события:
Гарантируется, что записи даны в хронологическом порядке: $$$t_1 \le t_2 \le \ldots \le t_n$$$.
Выведите единственное целое число $$$T$$$ $$$(0 \le T \le 10^{18})$$$ — количество пар спутанных по знаку событий.
14 31 1 3 3 3 3 5 5 6 6 6 8 9 11+--+++--+++++-
23
Первый тестовый пример
События на положительной оси произошли в моменты времени $$$[1, 3, 3, 3, 6, 6, 6, 8, 9]$$$. События на отрицательной оси произошли в моменты времени $$$[1, 3, 5, 5, 11]$$$.
Перечислим спутанные пары событий:
Суммарно получаем $$$1 + 3 + 3 + 6 + 6 + 2 + 1 + 1 = 23$$$ пары спутанных событий.