Дано рядок довжини . Визначимо функцію від рядка:
Тут |a-b| позначає відстань між символами та в алфавіті. Іншими словами, позначає суму |s_i-s_j| для всіх 1 \le i \le j \le n. Далі, визначимо
Тут позначає підрядок рядка від індексу до . Іншими словами, позначає суму f(s[l..r]) для всіх 1 \le l \le r \le n.
Дано запитів. Кожен запит змінює елемент на позиції на , тобто робить s_p = c. Вам потрібно вивести mod перед усіма запитами та після кожного запиту.
Перший рядок містить одне ціле число (1 \le n \le 2 \cdot 10^5) — довжину рядка .
Другий рядок містить рядок довжини .
Третій рядок містить одне ціле число (1 \le q \le 2 \cdot 10^5) — кількість запитів.
Наступні рядків містять ціле число (1 \le p \le n) та символ (c \in \{a,b, \dots, y,z\}) — опис запитів.
Виведіть q+1 цілих чисел в окремих рядках — відповіді на задачу.
Приклад 1
Приклад 2
( бали): n \le 3;
( балів): n,q \le 50;
( балів): n,q \le 100;
( балів): c,s_i \in \{a,b\};
( балів): n,q \le 5000;
( бал): n,q \le 20000;
( балів): c,s_i \le "n";
( балів): n,q \le 10^5;
( балів): без додаткових обмежень.