string = input()
length = len(string)
symbol = [string[0]]
index_of_l = [0]
index_of_ntl = [-1]
number_for_l = [1]
number_for_ntl = [0]
count = 1
rightest_ntl = -1
preceding = 0
prime_modulus = 1000000007
for i in range(1, length):
if string[i-1] == string[i]:
index_of_ntl[preceding] = index_of_l[preceding]
index_of_l[preceding] = i
number_for_ntl[preceding] = number_for_l[preceding]
continue
for j in range(count):
if string[i] == symbol[j]:
index_of_ntl[j] = index_of_l[j]
index_of_l[j] = i
number_for_ntl[j] = number_for_l[j]
if index_of_ntl[rightest_ntl] < index_of_ntl[j] < index_of_l[rightest_ntl]:
number_for_l[j] = 2 * number_for_l[preceding] - number_for_ntl[j] + number_for_ntl[rightest_ntl]
if not 0 <= number_for_l[j] > prime_modulus:
number_for_l[j] %= prime_modulus
rightest_ntl = j
else:
number_for_l[j] = 2 * number_for_l[preceding]
if number_for_l[j] > prime_modulus:
number_for_l[j] %= prime_modulus
preceding = j
break
else:
symbol += [string[i]]
index_of_l += [i]
index_of_ntl += [-1]
number_for_l += [2 * number_for_l[preceding]]
count += 1
if number_for_l[count - 1] > prime_modulus:
number_for_l[count - 1] %= prime_modulus
number_for_ntl += [0]
preceding = count - 1
print(number_for_l[preceding])