Банкомат — 1
Перегляд у форматі PDFУ деякій державі в обігу перебувають банкноти певних номіналів. Національний банк хоче, щоб банкомат видавав будь-яку запитану суму за допомогою мінімального числа банкнот, вважаючи, що запас банкнот кожного номіналу необмежений. Допоможіть Національному банку вирішити цю задачу.
Вхідні дані
Перший рядок містить натуральне число ~N~, що не перевищує 50 – кількість номіналів банкнот у обігу. Другий рядок вхідних даних містить ~N~ різних натуральних чисел ~x_1~, ~x_2~, ..., ~x_N~, що не перевищують ~10^5~ – номінали банкнот. Третій рядок містить натуральне число ~S~, що не перевищує ~10^5~ – суму, яку необхідно видати.
Результати
Програма повинна вивести єдине число – знайдену мінімальну кількість банкнот.
Якщо видати вказану суму вказаними банкнотами неможливо, програма повинна вивести рядок No solution.
Приклади
Вхід 1
7
1 2 5 10 20 50 100
72
Результат 1
3
Вхід 2
2
20 50
60
Результат 2
3
Примітки
У першому тесті, 72 можна видати трьома банкнотами 50, 20 і 2. У другому, 60 можна видати трьома банкнотами 20, 20 і 20.
Коментарі