codeforces#P1276F. Asterisk Substrings

Asterisk Substrings

Description

Consider a string $s$ of $n$ lowercase English letters. Let $t_i$ be the string obtained by replacing the $i$-th character of $s$ with an asterisk character *. For example, when $s = \mathtt{abc}$, we have $t_1 = \tt{*bc}$, $t_2 = \tt{a*c}$, and $t_3 = \tt{ab*}$.

Given a string $s$, count the number of distinct strings of lowercase English letters and asterisks that occur as a substring of at least one string in the set $\{s, t_1, \ldots, t_n \}$. The empty string should be counted.

Note that *'s are just characters and do not play any special role as in, for example, regex matching.

The only line contains a string $s$ of $n$ lowercase English letters ($1 \leq n \leq 10^5$).

Print a single integer — the number of distinct strings of $s, t_1, \ldots, t_n$.

Input

The only line contains a string $s$ of $n$ lowercase English letters ($1 \leq n \leq 10^5$).

Output

Print a single integer — the number of distinct strings of $s, t_1, \ldots, t_n$.

Samples

abc
15

Note

For the sample case, the distinct substrings are (empty string), a, b, c, *, ab, a*, bc, b*, *b, *c, abc, ab*, a*c, *bc.