매운 음식을 못 먹는 재우가 비빔냉면을 먹으면?

시간 제한1초메모리 제한1024 MB

요약
각 재료의 임계값 S_i와 좋아하는 재료 집합이 정해진 M명의 부원이 K번 무작위로 재료를 추가할 때, 모든 재료 조각 수가 S_i의 배수가 될 확률을 구한다.
난이도

어려움10점 중 8점

유형
수학, 동적 계획법, 조합론, 비트 연산
정답자
아직 제출이 없습니다

문제

매운 음식을 못 먹는 재우가 비빔냉면을 먹으면? 쟤 우냐?

수영 과목을 Pass한 재우는 MatKor 부원들과 함께 회식에 가게 되었다. 맛있는 고기를 원 없이 먹으며 즐거운 시간을 보낸 뒤, 후식 메뉴로 모두 비빔냉면을 먹게 되었다. 하지만 그냥 먹기에 너무 아쉬웠던 MatKor 부원들은 하나의 비빔냉면에 온갖 매운맛을 첨가해 무작위로 섞은 뒤 한 명에게 먹이기로 했다.

어떻게든 매운맛이 나는 비빔냉면을 만들기 위해 MatKor 부원들은 매운맛이 나는 NN가지의 재료를 준비했다. 모든 재료는 한 조각 단위로 비빔냉면에 넣을 수 있으며, 처음에 비빔냉면에는 NN가지의 재료가 각각 00조각 포함되어 있다.

매운 음식을 전혀 먹지 못하는 재우의 혀는 신기하게도 ii번 재료에 대해 S_iS\_i개의 조각을 먹을 때마다 해당 재료의 매운맛이 사라진다. 즉, 각 재료에 대해 ii번 재료가 들어가지 않았거나 들어간 ii번 재료 조각의 개수가 S_iS\_i의 배수라면, ii번 재료에 대한 매운맛을 느끼지 않는다. 또한 재우는 모든 재료에 대해 매운맛이 느껴지지 않을 때 그 음식의 매운맛을 느끼지 않고, 한 재료라도 매운맛을 느끼면 그 음식의 매운맛을 느낀다.

MM명의 부원들은 각자 비빔냉면에 넣고 싶은 재료들이 정해져 있다. 따라서 싸움이 나지 않도록 공평한 비빔냉면을 만들기 위해 아래와 같은 시행을 정확히 KK번 거치며 비빔냉면을 만들기로 했다.

  • MM명의 부원 중 한 명을 균등한 확률로 뽑는다.
  • 뽑힌 부원이 좋아하는 모든 ii번 재료에 대하여 11 이상 S_iS\_i 미만의 정수 중 하나를 균등하게 골라 ii번 재료 조각을 해당 개수만큼 추가한다.

매 시행은 독립적이므로, 이전에 뽑혔던 부원이 다시 뽑힐 수도 있다.

재우는 최악의 경우 자신이 매운 비빔냉면을 먹을 수도 있다는 생각이 들어 두려움에 떨기 시작했다. 재우가 매운맛을 느끼지 않고 냉면을 먹을 수 있을 확률을 계산해 보자.

입력

첫 번째 줄에 N(1≤N≤20)N(1\le N\le 20)이 주어진다.

두 번째 줄에 S_1,S_2,⋯ ,S_N(2≤S_i≤109)S\_1,S\_2,\cdots ,S\_N(2\le S\_i\le 10^9)이 공백으로 구분되어 주어진다.

세 번째 줄에 M(1≤M≤105)M(1\le M\le 10^5)이 주어진다.

네 번째 줄부터 MM개의 줄에 걸쳐 각 부원이 좋아하는 재료에 대한 정보가 주어진다.

각 줄의 처음에 부원이 좋아하는 재료의 수 T(1≤T≤N)T(1\le T\le N)가 주어지며, 이어 부원이 좋아하는 모든 재료의 번호를 의미하는 TT개의 정수 1≤X_1\<X_2<⋯\<X_T≤N1\le X\_1\<X\_2<\cdots \<X\_T\le N이 공백으로 구분되어 오름차순으로 주어진다.

다섯 번째 줄에 K(1≤K≤109)K(1\le K\le 10^9)가 주어진다.

출력

첫 번째 줄에 재우가 매운 맛을 느끼지 않고 냉면을 먹을 수 있을 확률을 109+710^9+7로 나눈 나머지를 출력한다.

기약 분수 pq(p≥0,q>0,gcd⁡(p,q)=1)\frac{p}{q}(p\ge 0,q>0,\gcd(p,q) =1)를 MM으로 나눈 나머지는 q−1q^{-1}가 q⋅q−1≡1(modM)q\cdot q^{-1}\equiv 1\pmod M을 만족하는 정수, 즉 qq의 MM에 대한 모듈로 곱셈 역원일 때, p⋅q−1(modM)p\cdot q^{-1}\pmod M로 정의한다. 만약 정수일 경우 q=q−1=1q=q^{-1}=1이므로 p(modM)p\pmod M를 의미한다.

주어진 조건 내에서 확률이 정수 혹은 분모가 109+710^9+7의 배수가 아닌 유리수로 나타내어짐을 증명할 수 있다.

힌트

이 문제의 제목과 제목에 대한 답은 kidw0124의 아이디어이다.

예제6

  1. 예제 1

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

    입력
    2
    2 2
    2
    1 1
    2 1 2
    2
    
    예상 출력
    500000004
    
  3. 예제 3

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

    입력
    2
    3 3
    2
    1 1
    2 1 2
    2
    
    예상 출력
    687500005
    
  5. 예제 5

    입력
    3
    2 3 4
    2
    1 1
    2 2 3
    2
    
    예상 출력
    291666669
    
  6. 예제 6

    입력
    5
    5622580 3089849 1000000000 12199964 508978
    5
    2 3 4
    2 1 5
    3 1 2 3
    1 5
    4 1 3 4 5
    1000000000
    
    예상 출력
    476231178