지하철 타고 가요
시간 제한8초메모리 제한1024 MB
축에 평행한 지하철 노선 N개가 주어질 때, 노선 쌍마다 최소 환승 횟수 d(i,j)에 i와 j를 곱해 모두 더한 값을 1000000007로 나눈 나머지를 구합니다.
문제
지호는 지하철 전문가이다. 지하철을 자주 이용하는 은호는 지호에게 하나의 지하철 노선에서 다른 지하철 노선으로 가는 방법을 자주 묻는다. 그런데 지호는 매번 환승을 가장 많이 해야 하는 방법을 알려 줘서 은호를 힘들게 한다.
악질인 지호에게 너무 많이 당한 은호는 다시는 지호에게 환승 방법을 묻지 않으려고 한다. 그래서 모든 두 지하철 노선에 대해 한 노선에서 다른 노선으로 가기 위한 최소 환승 수를 직접 알아내려 한다.
지하철 노선은 총 개이며, 각 노선은 축 또는 축에 평행한 선분이다. 두 노선의 선분이 교점을 가지면, 한 번의 환승으로 한 노선에서 다른 노선으로 이동할 수 있다. 축에 평행한 노선끼리, 혹은 축에 평행한 노선끼리는 환승할 수 없다. 모든 노선의 길이는 이상이다.
은호를 도와 모든 두 지하철 노선에 대해 한 노선에서 다른 노선으로 가는 최소 환승 수를 구하자.
번째 노선에서 번째 노선으로 가는 최소 환승 수를 라 하자. 인 모든 정수 순서쌍 에 대해 의 합을 로 나눈 나머지를 구하여라. 만약 번째 노선에서 번째 노선으로 환승하는 것이 불가능하다면 이다.
입력
첫 번째 줄에 지하철 노선의 수 이 주어진다.
두 번째 줄부터 개의 줄 중 번째 줄에는 번 노선의 정보를 나타내는 정수 4개 , , , 가 공백으로 구분되어 주어진다. 이는 번 노선이 과 를 잇는 선분이라는 뜻이다. 입력은 또는 이고, 선분의 길이가 이상임을 보장한다.
출력
첫 번째 줄에 문제의 정답을 출력한다.
제한
- 모든 지하철 노선에서