시간 제한
메모리 제한
시간 제한
3초
메모리 제한
256 MB
스미스 씨는 대단히 부유한 가젯 애호가입니다. 원하는 가젯이 아직 생산되지 않았다는 이유만으로 살 수 없다는 사실을 깨달은 그는, 직접 가젯 공장을 세우기로 결심했습니다.
이 공장은 실리콘 로드라 불리는 거리에 세워집니다. 이 거리에는 가젯을 만드는 데 필요한 첨단 부품을 생산하는 공장들이 늘어서 있습니다. 실리콘 로드는 완전히 직선이고 공장들은 도로에 바짝 붙어 있으므로, 도로를 수직선으로, 각 공장을 그 위의 한 점으로 볼 수 있습니다. 이러한 부품 생산 공장을 공장이라고 부릅니다.
가젯 하나를 만들려면 서로 다른 n가지 부품이 필요하고, 도로변에는 이 부품들을 생산하는 공장이 m개 있으며, 각 공장은 정확히 한 종류의 부품을 생산합니다. 가젯 공장을 좌표 t에 세운다고 할 때, 그 비용은 필요한 n가지 부품 각각에 대해 그 부품을 생산하는 가장 가까운 공장까지의 거리의 제곱을 모두 더한 값입니다.
이 비용이 최소가 되는 모든 좌표 t를 구하세요.

첫째 줄에 두 정수 n과 m이 주어집니다 (1≤n≤10000; n≤m≤100000).
이어지는 m개의 줄에는 각각 두 정수 xi와 pi가 주어집니다. xi는 i번째 공장의 좌표이고, pi는 그 공장이 생산하는 부품의 번호입니다 (∣xi∣≤100000; xi≤xi+1; 1≤pi≤n).
필요한 각 부품은 적어도 하나의 공장에서 생산됩니다.
f(t)를 t에서 각 부품을 생산하는 가장 가까운 공장까지의 거리의 제곱을 n가지 부품에 대해 모두 더한 값이라고 하겠습니다. f가 최솟값을 갖는 모든 점의 좌표는 분모가 n을 나누는 유리수입니다.
첫째 줄에 f(t)가 최소가 되는 점의 개수 k를 출력합니다. 이어서 그 k개의 점을 오름차순으로 한 줄에 하나씩 출력하되, 각 점을 기약분수 p/q (q>0) 형태로 정확히 출력하고, q=1인 경우에는 정수 p로 출력합니다.