При регистрации нового пользователя генерируется строка S, состоящая из маленьких букв латинского алфавита. Пользователь может убирать символы с начала и с конца строки, тем самым генерируя себе ник. Например, из строки "aaaa" пользователь может получить ники "a", "aa", "aaa" и "aaaa". С другой стороны, из строки "abcd" можно получить никнеймы "a", "ab", "abc", "abcd", "b", "bc", "bcd", "c", "cd" и "d". Согласен, имена получаются довольно прозаичными, но зато извечная геймерская проблема решена!
Помогите определить, какое максимальное количество различных ников можно получить из строки S описанным выше способом.
Входные данные
№
INPUT.TXT
OUTPUT.TXT
1
aaaa
4
2
abcd
10
Дана строка S, состоящая из строчных латинских букв. Длина строки не менее 1 и не более 50 символов.
Выходные данные
Выведите единственное число — максимальное количество ников.
Answers & Comments
s = input()
variants = []
for i in range(len(s)):
variants.append(s[i:])
for j in range(1, len(s) - i):
variants.append(s[i:-j])
unique_variants = []
for variant in variants:
if variant not in unique_variants:
unique_variants.append(variant)
print(len(unique_variants))