Milestone Counter
Driving through the Irish countryside, one frequently sees enigmatic small grey stones sitting by the wayside, spaced about a kilometre and a half apart. As it turns out, these stones once had a purpose: they were milestones, intended to demarcate this venerable unit of measurement.
Being so old and, crucially, collectible by magpies and larger scamps alike, not all of these stones have remained.
Passing by some more of these tattered markers at a constant but unknown speed, you may still be able to gain some information from their placements. For example, since you started counting you have passed exactly $M$ remaining stones; how fast could you have been driving?
Input

One line containing two positive integers, $M$ and $N$ ($ 2 \leq M \leq N \leq 10^3 $): the number of consecutive stones you noticed and the total number of stones along the road respectively.

One line containing $M$ distinct nonnegative integers $T_{1..M}$ in ascending orderâ€”the times at which you passed stones in hours ($ 0 \leq T_ i \leq 10^{15} $).

One line containing $N$ distinct nonnegative integers $X_{1..N}$ in ascending orderâ€”the distances along the road of each milestone ($ 0 \leq X_ i \leq 10^{15} $) in miles.
Output
Output two lines:

First, the number of distinct possible speeds at which the car could have been travelling.

Second, a spaceseparated list of all of the possible distances between the first milestone you saw and the second milestone you saw, in increasing order.
Sample Input 1  Sample Output 1 

4 12 1 2 4 5 6 8 12 18 26 28 30 34 36 37 39 40 
2 1 2 
Sample Input 2  Sample Output 2 

5 10 1 2 3 4 5 0 1 2 3 4 5 6 7 8 9 
1 1 
Sample Input 3  Sample Output 3 

3 6 1 2 4 11 12 15 19 24 30 
0 
Sample Input 4  Sample Output 4 

2 3 1123456789000 1123456789007 5 8 13 
2 3 5 