The Eastowner city is perpetually haunted with water supply shortages,
so in order to remedy this problem a new water-pipe has been built.
Builders started the pipe from both ends simultaneously, and after
some hard work both halves were connected. Well, almost.
First half of pipe ended at a point (x_{1}, y_{1}),
and the second half — at (x_{2}, y_{2}).
Unfortunately only few pipe segments of different length were left.
Moreover, due to the peculiarities of local technology the pipes can only be put
in either north-south or east-west direction, and be connected to form a straight line or
90 degree turn.
You program must, given
L_{1}, L_{2}, … L_{k}
— lengths of pipe segments available and
C_{1}, C_{2}, … C_{k}
— number of segments of each length,
construct a water pipe connecting given points, or declare that it is impossible.
Program must output the minimum required number of segments.

Input file format

Input file contains integers
x_{1}y_{1}x_{2}y_{2}k
followed by 2k integers
L_{1}L_{2} … L_{k}C_{1}C_{2} … C_{k}

Output file format

Output file must contain a single integer — the number of required segments,
or −1 if the connection is impossible.