## ICPC NAQ 2016 H - Nine Packs

View as PDF

Points: 10 (partial)
Time limit: 0.6s
Memory limit: 1G

Problem type
Allowed languages
Ada, Assembly, Awk, Brain****, C, C#, C++, COBOL, CommonLisp, D, Dart, F#, Forth, Fortran, Go, Groovy, Haskell, Intercal, Java, JS, Kotlin, Lisp, Lua, Nim, ObjC, OCaml, Octave, Pascal, Perl, PHP, Pike, Prolog, Python, Racket, Ruby, Rust, Scala, Scheme, Sed, Swift, TCL, Text, Turing, VB, Zig
##### ICPC North America Qualifier 2016, Problem H

"It's like how hot dogs come in packs of ten, and buns come in packs of eight or twelve — you have to buy nine packs to make it come out even."

This is a quote from the 1986 movie, "True Stories", and it's true; well, almost true. You could buy four packs of hotdogs and five packs of buns. That would give you exactly of each. However, you can make things even with fewer packs if you buy two packs of hotdogs, along with a pack of buns and another pack of buns. That would give you of each, using only total packs.

For this problem, you'll determine the fewest packs you need to buy to make hotdogs and buns come out even, given a selection of different bun and hotdog packs available for purchase.

#### Input Specification

The first input line starts with an integer, , the number of hotdog packs available. This is followed by integers, , the number of hotdogs in each pack. The second input line starts with an integer, , giving the number of bun packs available. This is followed by integers, , indicating the number of buns in each pack. The values and are between and , inclusive, and the sizes of the packs are between and , inclusive. Every available pack is listed individually. For example, if there were five eight-bun packs available for purchase, the list of bun packs would contain five copies of the number eight.

#### Output Specification

If it's not possible to purchase an equal number of one or more hotdogs and buns, just output impossible. Otherwise, output the smallest number of total packs you can buy (counting both hotdog and bun packs) to get exactly the same number of hotdogs and buns.

#### Sample Input 1

4 10 10 10 10
10 8 8 8 12 12 12 8 8 12 12

#### Sample Output 1

4

#### Sample Input 2

4 7 7 14 7
3 11 22 11

#### Sample Output 2

impossible