Пример #1
0
        public static void Solve()
        {
            var S      = Scanner.Scan <string>();
            var sa     = StringAlgorithm.SuffixArray(S);
            var answer = (long)S.Length * (S.Length + 1) / 2;

            foreach (var x in StringAlgorithm.LCPArray(S, sa))
            {
                answer -= x;
            }
            Console.WriteLine(answer);
        }