Козак Вус та рядки#10252

Козак Вус та рядки

2 секунди
256 мегабайтів
Середня

Нещодавно Козак Вус натрапив на наступну задачу.

Є рядок . Треба знайти кількість підрядків цього рядка з такими властивостями:

  1. Підрядок повинен мати принаймні літери;

  2. Усі літери підрядка однакові, за виключенням однієї.

Наприклад, рядки aab, cccdc задовільняють цим властивостям, а рядки ab, ccc, aabbaa — ні.

Рядок є підрядком рядка , якщо може бути отриманим видаленням кількох (можливо, жодного або всіх) символів з початку і декількох (можливо, жодного або всіх) символів з кінця.

Допоможіть Козаку Вусу розв'язати цю задачу.

Вхідні дані

Перший рядок містить рядок (1 \le |s| \le 2 \cdot 10^5), який складається з літер латинської абетки нижнього регістру.

Вихідні дані

Виведіть єдине число — кількість підрядків з заданими умовами.

Приклади

Приклад 1

Loading
Loading

Приклад 2

Loading
Loading

Приклад 3

Loading
Loading

Приклад 4

Loading
Loading

Оцінювання

Якщо рішення працює правильно при |s| \le 100, то воно буде оцінюватися принаймні у балів.

Якщо рішення працює правильно при |s| \le 5000, то воно буде оцінюватися принаймні у балів.