서로 다른 점을 최대 16개 주면, 모든 점을 짝지었을 때 그은 선분들 중 서로 평행한 쌍의 수가 최대가 되도록 만든다.
어려움8비트 연산동적 계획법기하조합론아직 제출이 없습니다시간 제한10초메모리 제한512 MB평면 위에 서로 다른 점이 짝수 개 주어진다. 모든 점을 두 개씩 짝지어 나누는 방법을 생각하자. 각 점은 정확히 다른 한 점과만 짝을 이루며, 이런 짝짓기를 모두 살펴본다.
짝지은 두 점을 선분으로 이으면 어떤 선분은 다른 선분과 평행해진다. 가능한 모든 짝짓기 중에서 평행한 선분 쌍의 개수가 최대인 값을 구하라.
네 점 (0,0), (1,1), (0,2), (2,4)가 주어진 경우 짝짓는 방법은 그림 B.1처럼 세 가지다. 평행한 선분 쌍의 개수는 왼쪽부터 0, 0, 1이므로 최댓값은 1이다.

그림 B.1. 네 점을 짝짓는 세 가지 방법
점이 여덟 개인 경우에는 그림 B.2처럼 짝지을 수 있다. 이렇게 짝지으면 선분 네 개가 모두 서로 평행하다. 즉 (L1,L2), (L1,L3), (L1,L4), (L2,L3), (L2,L4), (L3,L4) 여섯 쌍이 모두 평행하므로 최댓값은 6이다.

그림 B.2. 여덟 점에서 평행한 선분 쌍을 최대로 만든 짝짓기
입력은 다음 형식의 테스트 케이스 하나로 이루어진다.
m
x1 y1
.
.
.
xm ym
첫 줄에 점의 개수인 짝수 m이 주어진다 (2≤m≤16). 이어지는 m개 줄 중 i번째 줄에는 i번째 점의 x좌표와 y좌표를 나타내는 정수 xi와 yi가 주어진다 (−1000≤xi≤1000, −1000≤yi≤1000).
모든 점의 위치는 서로 다르다. 즉 i=j이면 xi=xj 또는 yi=yj가 성립한다. 또한 한 직선 위에 점이 세 개 이상 놓이는 경우는 없다.
평행한 선분 쌍의 최대 개수를 한 줄에 출력한다.