친구 사귀기는 즐거워
시간 제한1초메모리 제한512 MB
대사 화살표로 이루어진 방향 그래프에서 중재자 x와 (x,p), (x,q) 화살표가 있는 두 나라 p, q를 골라 (p,q)와 (q,p)를 추가하는 회담을 반복할 때 만들 수 있는 화살표 수의 최댓값을 구한다.
문제
당신은 역사의 뒤편에서 활동하는 에이전트이며, 세계 평화를 위해 매일 활동을 이어 가고 있다. 이 세계에는 개의 나라가 있고, 각 나라에는 1부터 까지의 서로 다른 번호가 붙어 있다. 이 개의 나라 사이에 가능한 한 우호적인 관계를 맺게 하는 것이 당신의 목적이다. 당신은 에이전트 업무 계획을 세우기 위해 현재의 국제 관계를 나타내는 그림을 그렸다.
당신은 큰 도화지 한 장을 준비하고, 먼저 그 위에 각 나라를 나타내는 개의 점을 찍었다. 다음으로 현재의 국제 관계를 나타내기 위해 두 나라를 잇는 화살표 개를 그렸다. 나라 를 나타내는 점에서 다른 나라 를 나타내는 점으로 향하는 화살표는 "현재 나라 가 나라 에 대사를 파견하고 있다"는 것을 나타낸다. 이하에서 나라 를 나타내는 점에서 나라 를 나타내는 점으로 향하는 화살표를 화살표 라고 부른다. 이렇게 그린 개의 점과 개의 화살표가 현재의 국제 관계를 나타내는 그림이다.
나라 사이의 우호 관계의 계기로, 두 나라 사이의 우호 조약 체결 회의(이하 간단히 "회의"라고 한다)를 열기로 하자. 어떤 두 나라 , 가 회의를 열기 위해서는 두 나라 모두에 대사를 파견하고 있는 나라 가 중재자로 필요하다. 그리고 회의를 연 뒤 각 나라는 상대국에 대사를 파견한다. 즉, 나라 와 나라 가 회의를 열기 위해서는 화살표 와 화살표 가 있는 나라 가 존재해야 하며, 회의를 연 뒤에는 화살표 와 화살표 를 새로 그려 넣는다. 다만 화살표가 이미 그려져 있는 경우에는 새로 그려 넣지 않는다.
당신의 일은 회의를 열 수 있는 두 나라와 그 회의를 중재할 나라를 골라 회의를 열게 하는 것이다. 그림을 사용해 이 일을 시뮬레이션할 때, 세계가 얼마나 평화에 가까워졌는지를 도화지 위의 화살표 개수를 기준으로 생각하기로 했다. 즉, 두 나라를 골라 회의를 열게 하는 일을 반복해서 도화지 위의 화살표 개수를 최대 몇 개까지 만들 수 있는지 알고 싶다.
이 세계에 있는 나라의 개수와 현재의 국제 관계를 나타내는 정보가 주어질 때, 두 나라를 골라 회의를 열게 하는 일을 반복해서 도화지 위의 화살표 개수를 최대 몇 개까지 만들 수 있는지 구하는 프로그램을 작성하시오.
입력
표준 입력에서 다음 입력을 읽는다.
- 1번째 줄에는 정수 , 이 공백을 구분자로 하여 쓰여 있다. 은 도화지 위의 점의 개수(이 세계에 있는 나라의 개수), 은 도화지 위의 화살표의 개수를 나타낸다.
- 이어지는 개의 줄에는 도화지 위의 화살표 정보가 각각 쓰여 있다. 이 중 번째 줄 ()에는 두 정수 , 가 공백을 구분자로 하여 쓰여 있다. 이는 도화지 위에 나라 를 나타내는 점에서 나라 를 나타내는 점으로 향하는 화살표가 그려져 있다는 것, 즉 나라 가 나라 에 대사를 파견하고 있다는 것을 나타낸다.
출력
표준 출력에 실현할 수 있는 화살표 개수의 최댓값을 1줄로 출력하라. 화살표 개수에는 회의로 새로 그려 넣은 것만이 아니라 현재 이미 그려져 있는 것도 센다는 점에 주의하라.
제한
- .
- .
- ().
- ().
- ().
- ().