БАНКОМАТ#8303

БАНКОМАТ

1 секунда
64 мегабайти
Складна

У банкоматі є банкноти різних номіналів a_1, a_2, \ldots, a_N. Клієнт хоче отримати суму в грн. Необхідно визначити, за допомогою якої мінімальної кількості купюр можна видати цю суму і якими саме купюрами.Вважається, що у банкоматі необмежена кількість купюр кожного номіналу.

Вхідні дані

Перший рядок — число — кількість номіналів.

Другий рядок — номінали — цілі числа a_1, a_2, \ldots, a_N, розділені пробілами.

Третій рядок — сума , яку клієнт хоче отримати.

Всі числа цілі і знаходяться у діапазоні від до .

Вихідні дані

Перший рядок — кількість купюр, які видасть банкомат.

Другий рядок — пари чисел (номінал та відповідна кількість купюр цього номіналу), розділені пробілами.

Якщо існує декілька варіантів видачі, то виведіть будь-який з них.

Якщо задану суму не можна видати, то виведіть одне число -1.

Приклади

Приклад 1

Loading
Loading

Приклад 2

Loading
Loading

Примітка

Банкомат видасть купюри:

купюра номіналом грн.

купюри номіналом грн.