Nested Loops - More Exercises - Profit - Проблем

Здравейте , 

Имам проблем със задача Profit/Банкноти и монети от More Exercises със Python , моето решение е отдолу , judge винаги ми дава time limit на последните два теста,къде може да е проблема , вече направих над 15 опита, всеки път time limit . А не виждам грешка в кода...

one_lv = int(input())
two_lv = int(input())
five_lv = int(input())
total = int(input())
for one in range(one_lv + 1):
    for two in range(two_lv + 1):
        for five in range(five_lv + 1):
            if (one * 1) + (two * 2) + (five * 5) == total:
               print(f"{one} * 1 lv. + {two} * 2 lv. + {five} * 5 lv. = {total} lv.")

1.Банкноти и монети

Имаме банкноти и монети по 1лв., по 2лв. и по 5лв. Да се напише програма, която прочита въведените от потребителя брой банкноти и монети и сума, и извежда на екран всички възможни начини по които сумата може да се изплати с наличните банкноти.

Вход

Входът се чете от конзолата и съдържа точно 4 реда:

  1. Брой монети по 1лв. - цяло положително число;
  2. Брой монети по 2лв. - цяло положително число;
  3. Брой банкноти по 5лв. - цяло положително число;
  4. Сума - цяло положително число в интервала [1…1000];

Изход

Да се отпечатат на конзолата всички комбинации от дадените номинали, образуващи сумата, форматирани по следния начин:

  • "{бр. 1лв.} * 1 lv. + {бр. 2лв.} * 2 lv. + {бр. 5лв.} * 5 lv. = {сума} lv."

Примерен вход и изход

Вход

Изход

3

2

3

10

0 * 1 lv. + 0 * 2 lv. + 2 * 5 lv. = 10 lv.

1 * 1 lv. + 2 * 2 lv. + 1 * 5 lv. = 10 lv.

3 * 1 lv. + 1 * 2 lv. + 1 * 5 lv. = 10 lv.

Вход

Изход

5

3

1

7

0 * 1 lv. + 1 * 2 lv. + 1 * 5 lv. = 7 lv.

1 * 1 lv. + 3 * 2 lv. + 0 * 5 lv. = 7 lv.

2 * 1 lv. + 0 * 2 lv. + 1 * 5 lv. = 7 lv.

3 * 1 lv. + 2 * 2 lv. + 0 * 5 lv. = 7 lv.

5 * 1 lv. + 1 * 2 lv. + 0 * 5 lv. = 7 lv.