string = input()
length = len(string)
symbol = ['', string[0]]
index_of_l = [0, 1]
index_of_ntl = [0, 0]
number_for_l = [0, 1]
number_for_ntl = [0, 0]
count = 2
rightest_ntl = 0
preceding = 1
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(1, count):
if string[i] == symbol[j]:
if index_of_ntl[rightest_ntl] > index_of_l[j]:
index_of_ntl[j] = index_of_l[j]
index_of_l[j] = i
number_for_ntl[j] = number_for_l[j]
number_for_l[j] = 2 * number_for_l[preceding]
elif index_of_l[rightest_ntl] <= index_of_l[j]:
index_of_ntl[j] = index_of_l[j]
index_of_l[j] = i
number_for_ntl[j] = number_for_l[j]
number_for_l[j] = 2 * number_for_l[preceding] - number_for_ntl[j]
rightest_ntl = j
else:
index_of_ntl[j] = index_of_l[j]
index_of_l[j] = i
number_for_ntl[j] = number_for_l[j]
number_for_l[j] = 2 * number_for_l[preceding] - number_for_ntl[j] + number_for_ntl[rightest_ntl]
number_for_l[rightest_ntl] -= number_for_ntl[j]
rightest_ntl = j
if not 0 <= 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 += [0]
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])