토너먼트 팀 매칭
시간 제한3초메모리 제한2048 MB
두 그룹의 선수들이 15개 역할을 한 번씩 모두 채울 수 있도록 그룹을 짝지을 때, 만들 수 있는 팀의 최대 개수를 구합니다.
문제
친목을 위한 럭비 토너먼트를 준비하고 있다. 럭비 팀에는 서로 다른 역할 개가 있으며 번호는 부터 까지다. 각 팀은 정확히 명으로 구성되고, 각 선수는 역할 중 하나를 맡는다. 친구 무리가 여럿 모였지만, 어느 무리도 혼자서 완전한 팀을 이룰 만큼 크지 않다. 무리 두 개를 합쳐 팀을 만들려고 한다.
각 무리의 인원은 명 이상 명 이하이며, 각 선수는 맡을 수 있는 역할 두 개 중 정확히 하나를 맡을 수 있다. 유효한 팀은 정확히 두 무리로 이루어지고, 인원이 정확히 명이며, 팀의 모든 역할을 그 역할을 맡을 수 있는 서로 다른 선수가 맡는 팀이다. 한 무리는 두 팀 이상에 속할 수 없다. 만들 수 있는 유효한 팀 수의 최댓값을 구하라.
입력
첫 줄에 무리의 수 ()이 주어진다.
이어서 개의 무리가 주어진다. 각 무리의 첫 줄에는 무리의 인원 ()가 주어진다. 다음 개 줄에는 공백으로 구분된 두 정수 , ()가 주어지며, 이는 그 선수가 역할 또는 를 맡을 수 있다는 뜻이다.
출력
무리 두 개를 합쳐 만들 수 있는 유효한 팀 수의 최댓값을 출력한다.