Number of distinct substrings

Count how many different contiguous substrings appear in a lowercase string of length up to 1000.

Medium5String matchingHash mapSortingInterviewNo attempts yetTime limit1sMemory limit512 MB

Problem

You are given a string SS. Write a program that counts how many distinct substrings SS has.

A substring is a contiguous piece cut out of SS, and its length must be at least 1.

For example, the substrings of ababc are a, b, a, b, c, ab, ba, ab, bc, aba, bab, abc, abab, babc, ababc, and 12 of them are distinct.

Input

The first line contains the string SS. SS consists of lowercase letters only, and its length is at most 1,000.

Output

Print the number of distinct substrings of SS on the first line.