나라의 심장부
시간 제한1초메모리 제한128 MB
무방향 그래프에서 각 정점이 자기 자신과 집합 안의 이웃 정점들의 병력 합이 K 이상이 되도록 하는 가장 큰 정점 집합을 찾아, 그 크기와 병력 합을 출력한다.
문제
그래피아라는 나라가 전쟁에 휘말렸다. 이웃 나라들은 그래피아가 번영하는 도시들을 세우고 그 도시들을 고속도로망으로 연결하는 모습을 오랫동안 시샘하며 지켜보았고, 이제 그 몫을 차지하려 한다.
그래피아는 고속도로로 연결된 여러 도시로 이루어져 있다. 지형이 험해 도시 사이를 오갈 수 있는 방법은 고속도로뿐이다. 각 도시에는 일정 수의 병력이 주둔한다. 군 지휘부가 한 도시를 방어하려면 최소 명의 병력이 필요하다. 어떤 도시는 그 도시에 주둔한 병력과, 중간에 다른 도시를 거치지 않고 고속도로 하나로 직접 연결된 모든 도시의 병력으로 방어한다. 그보다 멀리 있는 병력은 제때 도착하지 못한다. 적은 한 번에 한 도시만 공격하므로, 한 도시의 병력은 그 도시 자신은 물론 인접한 도시의 방어에도 쓰일 수 있다. 만약 어떤 도시를 방어할 수 없다면, 지휘부는 그 도시의 병력이 함락되어 더 이상 그래피아 방어에 도움이 되지 못한다고 보아야 한다.
아래 예시 그림에서 일 때, 도시 C는 잘 방어되는 것처럼 보이지만 결국 함락된다.

그래피아의 지도부는 나라의 심장부, 곧 다른 모든 도시가 함락되더라도 서로를 방어해 낼 수 있는 가장 큰 도시 집합을 찾고자 한다.
좀 더 형식적으로, 한 도시가 자기 자신과 인접한 도시들의 병력을 모두 합해 명 이상을 모을 수 있으면 그 도시는 방어 가능하다. 어떤 도시 집합이 방어 가능하다는 것은, 그 집합에 속한 모든 도시가 오직 자기 자신과 그 집합 안에 있는 인접 도시의 병력만으로 방어 가능하다는 뜻이다. 나라의 심장부는 가장 큰 방어 가능한 도시 집합이다. 즉, 그보다 더 많은 도시를 포함하는 방어 가능한 집합은 존재하지 않는다.
입력
입력은 여러 개의 데이터 집합으로 이루어진다. 각 데이터 집합은 두 정수 과 로 시작한다. ()은 도시의 수이고, 는 한 도시를 방어하는 데 필요한 병력 수이다. 도시는 번부터 번까지 번호가 매겨져 있다.
다음 개의 줄은 번 도시부터 차례로 각 도시를 설명한다. 각 줄은 그 도시에 주둔한 병력 수를 나타내는 정수 ()로 시작하고, 이어서 그 도시에서 나가는 고속도로의 수 , 그리고 그 고속도로들이 향하는 도시 번호 개가 온다. 한 도시의 목록 안에서 도시 번호는 모두 서로 다르며, 어떤 고속도로도 한 도시를 자기 자신과 연결하지 않는다. 고속도로는 양방향이다. 즉, 도시 가 도시 의 목록에 있으면 도시 도 반드시 도시 의 목록에 나타난다.
입력은 공백으로 구분된 두 개의 으로 이루어진 줄로 끝난다.
출력
각 데이터 집합마다 두 정수를 한 줄에 출력한다. 첫 번째는 나라의 심장부에 속한 도시의 수이고, 두 번째는 나라의 심장부에 속한 도시들의 병력 총합이다. 두 정수 사이에는 공백 하나를 둔다. 출력들 사이에 빈 줄을 넣지 않는다.