11605. Ланчбокси
Магазин продає \(N\) видів ланчбоксів, по одному кожного виду. Для кожного \(i = 1, 2, \ldots, N\), \(i\)-й вид ланчбоксу містить \(A_i\) котлет і \(B_i\) пончиків.
Степан хоче з'їсти \(X\) або більше котлет і \(Y\) або більше пончиків. Визначте, чи можна купити деяку кількість ланчбоксів, щоб отримати принаймні \(X\) котлет і хоча б \(Y\) пончиків.
Якщо можливо, знайдіть мінімальну кількість ланчбоксів, які Степан повинен купити, щоб отримати все у потрібній кількісті.
Звірніть увагу, що для кожного виду є в наявності лише один ланчбокс - ви не можете купити два або більше ланчбоксів одного виду.
Формат вхідних даних
Перший рядок містить ціле число \(N\) (\(1 \le N \le 300\))
Другий рядок містить цілі числа \(X,Y\) (\(1 \le X,Y \le 300\))
Наступні \(N\) рядків містять цілі числа \(A_i, B_i\) (\(1 \le A_i,B_i \le 300\))
Числа у рядках розділяються пропуском. `
Формат вихідних даних
У вихідний потік виведіть мінімальну кількість ланчбоксів або -1, якщо вибрати необхідну кількість ланчбоксів неможливо.
Приклад вхідних даних
3
5 6
2 1
3 4
2 3
Приклад вихідних даних
2
Приклад вхідних даних
3
8 8
3 4
2 3
2 1
Приклад вихідних даних
-1
Коментарі