만드는 중입니다

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

스키 리조트

시간 제한2초메모리 제한512 MB

요약
각 질의마다, 모든 선호 구역으로 가는 모든 경로에 재고 구역이 정확히 하나씩 놓이도록 하는 크기 k인 구역 집합의 수를 센다.
난이도

어려움10점 중 8점

유형
트리, 동적 계획법, DFS, 조합론
정답자
아직 제출이 없습니다

문제

당신은 미국에서 이름난 스키 리조트의 주인이다. 리조트 곳곳의 스낵 가판대에 알맞은 간식을 채워 넣어 매출을 올리려 한다.

스키 리조트는 산 위에 있다. 손님은 스키 리프트를 타고 산꼭대기에 올라간 뒤, 그곳에서 스키를 타고 산의 여러 지점으로 내려간다.

산에는 nn개의 구역이 있고, 각 구역에는 11부터 nn까지 번호가 붙어 있다. 산꼭대기는 11번 구역이다. 구역들은 스키 코스로 연결되어 있으며, 모든 스키 코스는 엄격하게 내리막이다. 즉 한 구역을 떠나면 스키 리프트를 타지 않고는 그 구역으로 다시 돌아올 수 없다. 모든 구역(11번 구역 포함)에는 스낵 가판대가 정확히 하나씩 있다.

리조트 주인으로서 당신은 손님을 더 잘 대접하기 위해(그리고 돈을 더 벌기 위해) 가판대에 간식을 얼마나 효과적으로 배치할 수 있는지 알고 싶다. 그래서 설문 조사를 하고, 그 결과를 서로 독립적인 여러 질의로 분석하려 한다. 설문에 참여한 손님마다 가장 좋아하는 간식이 하나 있고, 즐겨 찾는 구역의 목록이 있다. 당신은 각 손님이 좋아하는 간식을 가판대에 어떻게 채우는 것이 가장 좋은지 알고 싶다.

각 질의는 한 손님이 즐겨 찾는 구역들의 집합과 수 kk로 이루어진다. 이 손님이 좋아하는 간식을 산 위의 가판대 정확히 kk곳에 채우는 방법 가운데 다음 조건을 모두 만족하는 방법의 수를 구하라.

  1. 손님이 즐겨 찾는 각 구역에 대해, 11번 구역에서 그 구역까지 가는 모든 스키 코스 경로를 통틀어 이 간식을 파는 가판대가 정확히 하나 있어야 한다. 다시 말해 손님이 이 간식을 살 가판대를 둘 이상 중에서 고를 수 있어서는 안 된다. 따라서 11번 구역에서 그 구역까지 가는 어떤 경로 위에 놓인 구역(두 끝 구역 포함) 가운데 간식을 채운 가판대는 정확히 하나이고, 11번 구역에서 그 구역까지 가는 모든 경로가 그 가판대가 있는 구역을 지난다.
  2. 이 간식을 채운 kk곳의 가판대는 각각 11번 구역에서 질의 집합의 어떤 구역까지 가는 스키 코스 경로 위에 놓여 있어야 한다.

입력

입력은 테스트 케이스 하나로 이루어진다. 프로그램은 서로 다른 입력으로 여러 번 실행될 수 있다.

첫째 줄에 세 정수 nn, mm, qq가 공백으로 구분되어 주어진다. nn(1≤n≤1051 \le n \le 10^5)은 산에 있는 구역의 수, mm(1≤m≤n+501 \le m \le n + 50)은 스키 코스의 수, qq(1≤q≤1051 \le q \le 10^5)는 질의의 수이다.

다음 mm개의 줄에는 각각 두 정수 xx와 yy(1≤x,y≤n1 \le x, y \le n, x≠yx \ne y)가 주어진다. 이는 xx번 구역에서 yy번 구역으로 내려가는 스키 코스를 뜻한다. 두 구역 사이에는 스키 코스가 많아야 하나 있다. 모든 구역은 11번 구역에서 스키 코스를 몇 개 이어 타서 도달할 수 있다.

다음 qq개의 줄에는 각각 공백으로 구분된 정수들이 주어진다. 각 줄은 kk와 aa로 시작하고, 그 뒤에 정수 ii가 aa개 이어진다. kk(1≤k≤41 \le k \le 4)는 이 손님이 좋아하는 간식을 채울 가판대의 수, aa(1≤a≤n1 \le a \le n)는 질의 집합에 속한 구역의 수이고, aa개의 정수 ii(1≤i≤n1 \le i \le n)는 질의 집합에 속한 구역의 번호이다. 한 질의 안에서 같은 ii가 두 번 나오지 않는다.

모든 질의의 aa의 합은 100 000100\,000을 넘지 않는다.

출력

정수 qq개를 한 줄에 하나씩, 빈 줄 없이 출력한다. 각 정수는 해당 질의에서 간식을 채울 가판대를 고르는 방법의 수이며, 질의가 입력에 주어진 순서대로 출력한다. 어떤 구역이 한 방법에서는 선택되고 다른 방법에서는 선택되지 않으면 두 방법은 서로 다르다.

예제3

  1. 예제 1

    입력
    4 4 4
    1 2
    1 3
    2 4
    3 4
    1 1 4
    2 1 4
    1 1 3
    2 2 3 2
    
    예상 출력
    2
    0
    2
    1
    
  2. 예제 2

    입력
    8 10 4
    1 2
    2 3
    1 3
    3 6
    6 8
    2 4
    2 5
    4 7
    5 7
    7 8
    2 3 4 5 6
    2 2 6 8
    1 1 6
    1 1 8
    
    예상 출력
    0
    0
    3
    2
    
  3. 예제 3

    입력
    8 9 4
    1 2
    1 3
    3 6
    6 8
    2 4
    2 5
    4 7
    5 7
    7 8
    2 3 4 5 6
    2 2 6 8
    1 1 6
    1 1 8
    
    예상 출력
    2
    0
    3
    2