Squarks

아직 제출이 없습니다시간 제한2초메모리 제한128 MB

문제

물리학자 바이트아사르는 새로운 물질 구성 입자인 스쿼크(squark)를 연구하고 있다. 스쿼크는 홀로 존재하지 못하고 항상 둘씩 짝을 이루는 매우 특이한 입자이며, 어떤 종류의 스쿼크는 반드시 자신과 다른 종류의 스쿼크와만 짝을 이룬다.

연구 끝에 그는 스쿼크에 서로 다른 nn가지 종류가 있음을 밝혀냈다. 각 종류의 스쿼크는 고유한 질량을 가지며, 그 질량은 어떤 기준 단위의 양의 정수 배이다. 그는 또한 서로 다른 두 종류로 이루어질 수 있는 n(n1)2\frac{n(n-1)}{2}가지 짝 각각의 전체 질량도 측정했다. 표준 모형에 따르면 한 짝의 질량은 그 짝을 이루는 두 스쿼크 질량의 합과 같다.

이제 그는 각 종류의 스쿼크가 가지는 개별 질량을 알아내고자 한다. 측정된 짝 질량들과 모순되지 않는 모든 질량 구성을 재구성하는 프로그램을 작성하라.

입력

첫째 줄에 스쿼크 종류의 수를 나타내는 정수 nn (3n3003 \le n \le 300)이 주어진다.

둘째 줄에는 가능한 모든 짝의 전체 질량 n(n1)2\frac{n(n-1)}{2}개가 공백 하나로 구분되어 주어진다. 이들은 모두 양의 정수이며, 각 짝의 질량은 10810^8을 넘지 않는다. 서로 다른 두 종류의 스쿼크로 이루어지는 각 짝의 질량은 입력에 정확히 한 번씩 주어지며, 순서는 임의이다.

전체 점수의 32%를 차지하는 테스트에서는 추가로 n20n \le 20이고 각 짝의 질량이 2000을 넘지 않는다.

출력

첫째 줄에 가능한 해의 개수 kk를 출력한다. 입력마다 해가 적어도 하나 존재함이 보장되므로 k>0k > 0이다.

이어지는 kk개의 줄에 각 해를 한 줄에 하나씩 출력한다. 각 해는 모든 종류의 스쿼크 질량인 서로 다른 양의 정수 nn개로 이루어지며, 한 줄 안에서는 증가하는 순서로 공백 하나씩 구분해 출력한다.

정답이 유일하게 결정되도록, kk개의 해는 정수 수열로 비교했을 때 사전순으로 증가하는 순서로 출력한다.