#include using namespace std; const int M = 1e9 + 7; int dp[200005], n; int main(){ string s; cin >> s; n = s.size(); s.insert(0, " "); for(int i = 1; i <= n; i++){ dp[i] = 1; for(int j = i - 1; j >= 1; j--){ if(s[i] == s[j]) dp[i] = (dp[i] + dp[j]) % M; else dp[i] = (0LL + dp[i] + dp[j] * 2) % M; } } int ans = 0; // for(int i = 1; i <= n; i++) cout << dp[i] << " \n"[i == n]; for(int i = 1; i <= n; i++) ans = (ans + dp[i]) % M; cout << ans; return 0; }