You are given a string consisting of lowercase Latin letters. Your task is to determine the number of good non-empty subsequences in this string.
A subsequence is called good if every non-empty subsequence of it is a palindrome.
Two subsequences are considered distinct if they are obtained by removing characters at different indices. That is, even if the resulting subsequences are identical as strings, they are considered different if the indices of the removed characters differ.
The first line contains the string (1 \leq |s| \leq 10^5), where all characters are lowercase Latin letters.
Output a single integer — the number of good non-empty subsequences of string , modulo 10^9+7 ().
Example 1
Example 2
In the first example, there are 4 good subsequences: "a", "b", "c", "d".