만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

토너먼트 팀 매칭

시간 제한3초메모리 제한2048 MB

요약
두 그룹의 선수들이 15개 역할을 한 번씩 모두 채울 수 있도록 그룹을 짝지을 때, 만들 수 있는 팀의 최대 개수를 구합니다.
난이도

보통10점 중 7점

유형
그래프, 비트 연산
정답자
아직 제출이 없습니다

문제

친목을 위한 럭비 토너먼트를 준비하고 있다. 럭비 팀에는 서로 다른 역할 1515개가 있으며 번호는 11부터 1515까지다. 각 팀은 정확히 1515명으로 구성되고, 각 선수는 역할 중 하나를 맡는다. 친구 무리가 여럿 모였지만, 어느 무리도 혼자서 완전한 팀을 이룰 만큼 크지 않다. 무리 두 개를 합쳐 팀을 만들려고 한다.

각 무리의 인원은 11명 이상 1414명 이하이며, 각 선수는 맡을 수 있는 역할 두 개 중 정확히 하나를 맡을 수 있다. 유효한 팀은 정확히 두 무리로 이루어지고, 인원이 정확히 1515명이며, 팀의 모든 역할을 그 역할을 맡을 수 있는 서로 다른 선수가 맡는 팀이다. 한 무리는 두 팀 이상에 속할 수 없다. 만들 수 있는 유효한 팀 수의 최댓값을 구하라.

입력

첫 줄에 무리의 수 nn (1≤n≤5001 \le n \le 500)이 주어진다.

이어서 nn개의 무리가 주어진다. 각 무리의 첫 줄에는 무리의 인원 kk (1≤k≤141 \le k \le 14)가 주어진다. 다음 kk개 줄에는 공백으로 구분된 두 정수 aa, bb (1≤a<b≤151 \le a < b \le 15)가 주어지며, 이는 그 선수가 역할 aa 또는 bb를 맡을 수 있다는 뜻이다.

출력

무리 두 개를 합쳐 만들 수 있는 유효한 팀 수의 최댓값을 출력한다.

예제1

  1. 예제 1

    입력
    5
    5
    4 8
    7 11
    6 8
    3 4
    4 9
    8
    6 9
    2 4
    2 9
    2 11
    2 11
    2 8
    2 14
    2 12
    7
    5 7
    1 2
    10 11
    1 3
    5 6
    4 13
    13 15
    1
    9 10
    10
    2 9
    1 3
    8 10
    1 9
    8 11
    1 5
    1 5
    1 6
    2 4
    2 3
    
    예상 출력
    1