만드는 중입니다

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

다단계 마라톤

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

요약
정점이 최대 70개인 방향 그래프에서 플레이어들이 정해진 시각에 출발합니다. 1부터 T까지 각 시각에 정점 n에 있는 기댓값을 구해 모두 XOR한 값을 모듈러 10^9+7로 계산합니다.
난이도

어려움10점 중 9점

유형
행렬, 동적 계획법, 수학
정답자
아직 제출이 없습니다

문제

Bobo는 마라톤 대회를 준비하고 있다. 대회에는 1,2,...,n1, 2, ..., n으로 번호가 매겨진 검문소 nn개가 있다. 이진 행렬 GG가 주어진다. Gu,v=1G_{u,v} = 1이면 검문소 uu에서 vv로 가는 단방향 도로가 있고, Gu,v=0G_{u,v} = 0이면 그런 도로가 없다.

참가자는 mm명이다. ii번째 참가자는 시각 tit_i에 검문소 viv_i에서 출발한다. 도로망이 복잡해서 참가자들은 무작위로 움직인다. 시각 tt에 검문소 uu에 있는 참가자는 시각 t+1t + 1에 Gu,v=1G_{u,v} = 1인 검문소 vv 각각에 같은 확률로 나타난다.

Et=PQ−1 mod (109+7)E_t = P Q^{-1} \bmod (10^9+7)로 정의한다. 여기서 P/QP/Q는 시각 tt에 검문소 nn에 있는 참가자 수의 기댓값이고, QQ−1≡1(mod109+7)Q Q^{-1} \equiv 1 \pmod{10^9+7}이다. Bobo는 E1⊕E2⊕⋯⊕ETE_1 \oplus E_2 \oplus \dots \oplus E_T 값을 알고 싶어 한다. 여기서 ⊕\oplus는 비트 단위 배타적 논리합이다.

입력

첫 줄에 정수 nn, mm, TT가 주어진다 (1≤n≤701 \le n \le 70, 1≤m≤1041 \le m \le 10^4, 1≤T≤2×1061 \le T \le 2 \times 10^6). 다음 nn개 줄에는 길이 nn인 이진 문자열 Gi,1Gi,2…Gi,nG_{i,1} G_{i,2} \dots G_{i,n}이 한 줄씩 주어진다. Gi,i=1G_{i,i} = 1은 항상 성립한다. 마지막 mm개 줄에는 정수 tit_i와 viv_i가 주어진다 (1≤t1<t2<⋯<tm≤T1 \le t_1 < t_2 < \dots < t_m \le T, 1≤vi≤n1 \le v_i \le n).

출력

결과를 나타내는 정수 하나를 출력한다.

예제2

  1. 예제 1

    입력
    2 2 2
    11
    11
    1 1
    2 2
    
    예상 출력
    500000005
    
  2. 예제 2

    입력
    3 1 6
    110
    011
    101
    1 1
    
    예상 출력
    191901811