시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 1024 MB2813842.105%

문제

Ральф хочет зарегистрироваться на трех сайтах. Для каждого сайта Ральф хочет выбрать свой пароль, причем все три пароля должны быть различны. У Ральфа есть любимая строка $s$. Для удобства запоминания паролей, Ральф решил разбить $s$ на три части: $a$, $b$ и $c$. Будем обозначать последовательное записывание двух строк операцией $+$. Тогда $s = a + b + c$. В качестве паролей Ральф будет использовать $a + b$, $b + c$ и $a + c$.

Помогите Ральфу посчитать количество различных способов разбить строку $s$ на $a$, $b$ и $c$, чтобы получившиеся пароли были различные. Два способа являются разными, если в них отличается хотя бы одна из строк $a$, $b$ или $c$.

입력

В единственной строке дана строка $s$, состоящая из строчных латинских букв ($1 \le |s| \le 500\,000$).

출력

В единственной строке выведите одно целое число --- искомое количество разбиений.

예제 입력 1

aabc

예제 출력 1

2

예제 입력 2

ababcb

예제 출력 2

9