Еще одна сортировка слов
Новая система подсчета очков для слов разработана следующим образом. Каждая буква имеет значение, соответствующее её позиции в алфавите: a=1, b=2, c=3, ..., z=26. Очки слова — это сумма значений его букв плюс бонус. Если в слове есть двойные буквы (две одинаковые буквы подряд), оно получает бонус в размере 2 раза значение этой буквы. Рассмотрим примеры:
apple = (1+16+16+12+5) + бонус 2x16 = 82
banana = (2+1+14+1+14+1) = 33 (без бонуса)
orange = 15+18+1+14+7+5 = 60 (без бонуса)
acted = (1+3+20+5+4) = 33 (без бонуса)
commit = 3+15+13+13+9+20 + бонус 13x2 = 99
Каждая буква может быть использована для расчета бонуса только один раз.
Дан список слов, и ваша задача — упорядочить их в порядке убывания их очков. В случае равенства очков, отсортируйте слова в лексикографическом порядке.
Входные данные
Вход содержит последовательность слов, каждое на отдельной строке. Каждое слово состоит только из строчных букв (a...z) и имеет не более 20 букв. Вход может содержать до 1000 строк.
Выходные данные
Вывод должен содержать последовательность входных слов, отсортированных по описанному методу. Каждое слово выводится на отдельной строке. Если встречаются одинаковые слова, сохраните все их экземпляры. В выводе не должно быть пробелов и пустых строк.