Rainbow Strings
题号:NC224877
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

Define a Rainbow String as a string where every letter in the string is distinct. The empty string is a Rainbow String.

Given a string of lower-case letters, compute the number of different subsequences which are Rainbow Strings. Two subsequences are different if letter at a specific position is included in one subsequence but not the other. Thus, two different subsequences may result in the same string.

For example, consider the string aab. The following six subsequences (in bold and underlined) are the only Rainbow Strings in aab:

aab aab aab aab aab <empty>

The answer may be large, so output the answer modulo 11092019.

输入描述:

The single line of input contains a string s (1 ≤ |s| ≤ 105) which consists only of lower-case letters.

输出描述:

Output a single integer, which is the number of subsequences of s which are Rainbow Strings.
示例1

输入

复制
aab

输出

复制
6
示例2

输入

复制
icpcprogrammingcontest

输出

复制
209952