아일랜드 시골길을 달리면 길가에 작은 회색 돌이 약 1마일 간격으로 놓여 있다. 거리를 표시하려고 세운 이정표다. 모두 오래된 것이라 세월이 흐르는 동안 몇 개는 사라졌고, 지금은 그 가운데 일부만 남아 있다.
너는 일정한 속도로 달리면서 남은 이정표를 연속으로 M개 지나쳤고, 각각을 지난 시각을 적어 두었다. 자기 속도는 모르지만 길에 남은 이정표 N개의 위치는 모두 안다. 이 기록으로 달린 속도를 알아낸다.
적어 둔 시각을 T1<T2<⋯<TM, 이정표의 위치를 X1<X2<⋯<XN이라고 하자. 어떤 시작 번호 j가 모든 i=1,2,…,M에 대하여
Xj+i−1−Xj=v(Ti−T1)
을 만족하면 속도 v는 가능한 속도다. 속도의 단위는 시간당 마일이다.
가능한 속도가 몇 가지인지, 그리고 각각의 경우에 처음 지난 이정표와 두 번째로 지난 이정표 사이의 거리가 얼마인지 구하여라.
첫째 줄에 정수 M과 N이 주어진다 (2≤M≤N≤103). M은 연속으로 지나친 이정표의 개수, N은 길에 남은 이정표의 총 개수다.
둘째 줄에 이정표를 지난 시각 T1,T2,…,TM이 시간 단위로 오름차순으로 주어진다. 값은 서로 다르고 0≤Ti≤1015이다.
셋째 줄에 이정표의 위치 X1,X2,…,XN이 마일 단위로 오름차순으로 주어진다. 값은 서로 다르고 0≤Xi≤1015이다.
두 줄을 출력한다.
첫째 줄에는 가능한 속도의 가짓수를 출력한다.
둘째 줄에는 처음 지난 이정표와 두 번째로 지난 이정표 사이의 거리로 가능한 값을 모두 오름차순으로, 공백 하나로 구분해 출력한다. 가능한 속도가 하나도 없으면 둘째 줄은 비워 둔다.