Red and Blue

시간 제한1초메모리 제한1024 MB

문제

좌표평면에 $N$개의 점이 주어진다. $i$번째 점의 좌표는 $(x_i, y_i)$이다. 모든 점들은 위치가 서로 다르며, 한 직선 위에 세 점이 놓이게 되는 경우는 없다.

당신의 목표는 점들의 쌍들 중 일부를 빨간색, 또는 파란색 선분으로 연결하여 다음 조건들을 모두 만족하도록 하는 것이다.

  • 빨간색 선분만을 고려할 때, 모든 점들은 연결되어있다. 즉, 아무 서로다른 두 점을 잡아도 해당 두 점을 양 끝 점으로 가지는 빨간색 선분으로 이루어진 경로가 존재한다. 파란색 선분만을 고려할 때에도 성립한다.
  • 임의의 두 선분이 두 선분의 끝점을 제외한 곳에서 교점을 가지지 않는다.
  • 선분의 색상과 상관없이, 선분은 최대 $2N-2$개까지 존재한다.

조건을 모두 만족하도록 선분을 그릴 수 있는지 판별하고, 만약 가능하다면 답을 출력하라.

입력

첫 줄에 점의 수 $N$이 주어진다.

다음 $N$개의 줄 중 $i$번째 줄에는 두 정수 $x_i, y_i$가 공백을 사이에 두고 주어진다.

출력

만약 조건을 모두 만족하도록 점들을 연결하는 것이 불가능하다면, 첫 줄에 -1을 출력한다.

그렇지 않을 경우, 답을 출력한다. 첫 줄에는 답에 사용된 선분의 개수 $m$을 출력한다.

다음 $m$개의 줄 중 $i$번째 줄에는 두 정수 $a_i$와 $b_i$, 한 문자 $c_i$를 공백을 사이에 두고 출력한다. 이는 답에 사용된 $i$번째 선분이 $a_i$번째, $b_i$번째 점을 끝점으로 하는 선분임을 의미하며, $c_i$가 R일 경우 빨간색, B일 경우 파란색임을 의미한다.

제한

  • $3 \le N \le 2\,000$
  • 모든 $1 \le i \le N$에 대하여 $|x_i|, |y_i| \le 1\,000\,000\,000$
  • 모든 $1 \le i<j \le N$에 대하여 $(x_i, y_i) \ne (x_j, y_j)$
  • 주어진 $N$개의 점 중 세 점이 한 직선 위에 놓이게 되는 경우는 없다.