만드는 중입니다

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

싸울 것인가, 말 것인가

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

요약
빈 좌석에 k쌍의 유명인을 배정하되 같은 쌍끼리 인접하지 않게 하는 방법의 수를 10^9+7로 나눈 나머지로 구합니다.
난이도

보통10점 중 7점

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

문제

당신은 아주 성공적인 극장의 감독입니다. 무엇보다 셰익스피어를 좋아하지만, 그의 작품이 피비린내 나는 결말로 치닫는 경향은 못마땅합니다. 『햄릿』이나 『리어왕』 같은 작품은 막이 하나만 더 있었다면 앞줄 관객부터 살해가 시작되었을 것이라는 말이 있습니다.

지금 당신은 셰익스피어가 마지막 막을 넣지 않은 것 때문에 원망이 생기려 합니다. 이유는 방금 극장에 도착한 2k명의 유명인입니다. 이들은 축구 선수, 모델, 유튜브 스트리머로 이루어진 k쌍이며, 연극이 무엇인지 제대로 이해하지 못하는 것 같습니다. 각 쌍은 공연 중에 열띤 말다툼을 벌여 공연을 망가뜨릴 가능성이 높습니다. 그래도 좌석을 배정하면 막을 수 있습니다. 쌍이 서로 인접하지 않은 좌석에 앉으면 싸움이 일어날 가능성이 훨씬 낮아집니다.

관람석은 n개의 행과 행마다 m개의 좌석으로 이루어집니다. 일반 관객이 이미 예매한 좌석이 있으며, 이들의 자리는 옮기지 않습니다. 어떤 쌍도 인접한 두 좌석을 차지하지 않도록 모든 유명인에게 좌석을 배정하세요. 두 좌석은 변을 공유할 때만 인접한 것으로 봅니다. 즉 한 좌석이 다른 좌석의 바로 옆이나 바로 뒤에 있을 때입니다. 가능한 배정의 수를 세어 109+710^9 + 7로 나눈 나머지를 구하세요. 어떤 유명인이라도 다른 좌석을 받으면 서로 다른 배정으로 봅니다. 모든 유명인은 서로 구별됩니다.

입력

첫 줄에 테스트 케이스의 수 z (1 ≤ z ≤ 100)가 주어집니다. 각 테스트 케이스의 첫 줄에는 양의 정수 n, m, k (1 ≤ n⋅mn \cdot m ≤ 144, 1 ≤ k ≤ mn2\frac{mn}{2})가 주어집니다. 이는 각각 행의 수, 한 행의 좌석 수, 유명인 쌍의 수입니다. 이어서 n개의 줄이 각 행을 나타냅니다. 'X'는 사용할 수 없는 좌석, '.'은 빈 좌석입니다. 빈 좌석은 적어도 2k개 있다고 가정해도 됩니다.

출력

각 테스트 케이스마다 어떤 쌍도 인접한 좌석을 받지 않는 배정의 수를 109+710^9 + 7로 나눈 나머지를 한 줄에 하나씩 출력하세요.

힌트

첫 번째 입력에서 가능한 배정을 모두 나타내면 다음과 같습니다. 'A'와 'a'는 첫 번째 쌍, 'B'와 'b'는 두 번째 쌍의 좌석입니다.

 AB   Ab   ab   aB   BA   bA   ba   Ba
 ba   Ba   BA   bA   ab   aB   AB   Ab

예제1

  1. 예제 1

    입력
    2
    2 2 2
    ..
    ..
    4 4 3
    X.X.
    ....
    .X..
    ...X
    
    예상 출력
    8
    347040