Много слов из одного Python

Алиса и Боб играют в игру "Много слов из одного", где из букв исходного слова нужно составлять другие. Каждую букву можно использовать максимум столько раз, сколько она встречалась в исходном слове. За каждое составленное по правилам слово начисляется столько очков, сколько букв в нём содержится. Алиса очень хочет выиграть и поэтому не замечает, что некоторые из её слов могут быть составлены не по правилам. Помогите Бобу определить, сколько очков набрала Алиса, составив свои слова.

Формат ввода

Программа получает на вход строку - исходное слово. Во второй строке записано натуральное число N ­≤ 10000 - количество слов, составленных Алисой. В каждой из следующих N строк записано составленное (возможно, некорректно) слово. Длина каждого слова не превышает 30 букв, все буквы записаны в нижнем регистре

Формат вывода

Программа должна вывести одно неотрицательное число - количество набранных Алисой очков.

Пример 1

Ввод

abracadabra
3
cat 
radar
crab 

Вывод

9

Пример 2

Ввод

tracktor 
4 
tulip  
flower 
rose
cactus 

Вывод

0

Полное описание:

Фулл описание

Мой не рабочий код

word = input()
n = int(input())
words = [input() for i in range(n)]
count = 0
for w in words:
    condition = False
    for c in w:
        if c in word and w.count(c) <= word.count(c):
            condition = True
        else:
            condition = False
            break
    if condition:
        count += len(w)
print(count)

Ответы (1 шт):

Автор решения: Lolka555
    word = input()
n = int(input())
words = [input() for i in range(n)]
count = 0
for w in words:
    condition = False
    for c in w:
        if c in word and w.count(c) <= word.count(c):
            condition = True
        else:
            condition = False
            break
    if condition:
        count += len(w)
print(count)
→ Ссылка