교준이는 이차원 좌표평면의 밤하늘을 바라보고 있다. 지금 하늘에는 서로 다른 위치에 N개의 별이 반짝이고 있고, i번 별의 위치는 (X_i,Y_i)이다.
교준이는 다음 조건을 모두 만족하도록 N개의 별을 두 개의 별자리, A 별자리와 B 별자리로 구분하고자 한다. 교준이가 사는 세상에서 별은 크기가 없는 고정된 점임에 유의하라.
위의 조건을 모두 만족하도록 N개의 별을 A 별자리와 B 별자리로 구분하는 경우의 수를 구하라.
첫째 줄에 정수 N이 주어진다. (2≤N≤1,500)
둘째 줄부터 N개의 줄에 걸쳐, N개의 별에 대한 정보가 주어진다. (i+1)번째 줄에는 두 정수 X_i, Y_i가 주어진다. (1≤i≤N, X_i≤108, Y_i≤108)
첫째 줄에 경우의 수를 109+7로 나눈 나머지를 출력한다.
첫째 예제의 경우, 별을 구분하는 방법은 총 6가지다. 속이 찬 빨간 원과 속이 빈 파란 원은 각각 A 별자리와 B 별자리에 속하는 별을 의미한다.

마지막 예제를 그림으로 나타내면 아래와 같다.
