Ужасные сроки
Вопреки распространенному мнению, усердие не всегда окупается! За годы учебы в Стэнфорде Дэвид обнаружил, что, несмотря на все его усилия, работа всегда будет расширяться, чтобы заполнить доступное время. Чтобы повысить свою повседневную эффективность, Дэвид решил освоить искусство прокрастинации. У Дэвида есть n заданий, которые нужно сдать на следующей неделе. i-е задание занимает x_i единиц времени и должно быть завершено к моменту t_i. Дэвид может работать только над одним заданием одновременно, и как только он начинает задание, он должен работать, пока не закончит его. Какое самое позднее время, когда Дэвид может начать, чтобы все его дедлайны были соблюдены?
Входные данные
Входной файл будет содержать несколько тестовых случаев. Каждый тестовый случай состоит из трех строк. Первая строка каждого тестового случая содержит одно целое число n (1 ≤ n ≤ 1000). Вторая строка каждого тестового случая содержит n целых чисел, x_1 x_2 ... x_n (1 ≤ x_i ≤ 10), разделенных пробелами. Третья строка каждого тестового случая содержит n целых чисел, t_1 t_2 ... t_n (1 ≤ t_i ≤ 1000), разделенных пробелами. Пустая строка разделяет входные тестовые случаи, как показано в примере ниже. Одна строка, содержащая "0", обозначает конец ввода; не обрабатывайте этот случай.
Выходные данные
Для каждого тестового случая на входе выведите одну строку, содержащую целое число, указывающее самое позднее время, когда Дэвид может начать и все же успеть закончить все свои задания вовремя. Если самое позднее время потребует, чтобы Дэвид начал до времени 0, выведите "impossible".