문자열 S가 주어지면 S의 서로 다른 부분 문자열이 몇 개인지 세는 프로그램을 작성하시오.
부분 문자열은 S에서 연속한 구간을 잘라낸 문자열이고, 길이가 1 이상이어야 한다.
예를 들어 S가 ababc이면 부분 문자열은 a, b, a, b, c, ab, ba, ab, bc, aba, bab, abc, abab, babc, ababc이고, 이 가운데 서로 다른 것은 12개다.
첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1 이상 1,000,000 이하이다.
첫째 줄에 S의 서로 다른 부분 문자열의 개수를 출력한다.