Dreadful Deadlines
Contrary to popular belief, diligence does not always pay off! Over the course of his years as an earnest Stanford undergraduate, David found that despite his best efforts, work would always expand to fill the time available. In order to improve his day-to-day efficiency, David has decided to learn the art of procrastination. David has n assignments due next week. The ith assignment takes x_i units of time and must be finished by time t_i. David can only work on one assignment at a time, and once David begins an assignment, he must work until it is finished. What is the latest time that David can start in order to ensure that all his deadlines are met? Input The input file will contain multiple test cases. Each test case consists of three lines. The first line of each test case contains a single integer n (1 ≤ n ≤ 1000). The second line of each test case contains n integers, x_1 x_2 ... x_n (1 ≤ x_i ≤ 10) separated by single spaces. The third line of each test case contains n integers, t_1 t_2 ... t_n (1 ≤ t_i ≤ 1000) separated by single spaces. A blank line separates input test cases, as seen in the sample input below. A single line containing "0" marks the end of input; do not process this case. Output For each input test case, print a single line containing an integer indicating the latest time that Jim can start yet still manage to finish all his assignments on time. If the latest time would require Jim to start before time 0, print "impossible".