#include #include using namespace std; using ll = long long; using namespace atcoder; using mint = modint; int main() { mint::set_mod((ll)1e9 + 7); string S;cin >> S; int N = S.size(); vector dp(N + 1, 0); mint ans = 0; vector T(26, 0); vector U(26, 0); for (int i = 1;i <= N;i++) { dp[i]++; int now = S[i - 1] - 'a'; for (int c = 0;c < 26;c++) { dp[i] += T[c] + (c == now ? 0 : U[c]); } T[now] += dp[i]; U[now] += mint(2).pow(i - 1); ans += dp[i]; } cout << ans.val() << endl; }