타카하시의 기차 퍼즐 놀이 2

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

요약
높이가 짝수이고 6 이하인 직사각형을 네 가지 고정 블록으로 빈틈없이 채우는 경우의 수를 구해 10^9+7로 나눈 나머지를 출력한다.
난이도

어려움10점 중 8점

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

문제

타카하시는 컴퓨터로 기차 퍼즐 게임을 하고 있었습니다. 반복된 퍼즐 게임에 질렸던 타카하시는 여러분들에게 다음과 같은 질문을 하였습니다.

[그림 1] 왼쪽 위부터 시계 방향으로 11번, 22번, 44번, 33번 블록

[그림 2] 덮이지 않는 공간이 하나 이상 있는 경우

세로 길이가 rr이고 가로 길이가 cc인 직사각형 모양의 퍼즐이 있어. 퍼즐에는 11번부터 44번까지 회전할 수 없는 44가지 블록이 있고, 각 블록은 제한 없이 쓸 수 있어. 블록들을 퍼즐 영역 내부에 빈틈없이 채우려고 해. 퍼즐 영역이 커진다면, 채울 수 있는 가짓수가 많아지겠지? 44가지 블록들을 적절히 사용해서 퍼즐 영역 내부를 빈틈없이 채울 수 있는 가짓수를 109+710^{9}+7로 나눈 나머지를 구해 줘.

타카하시의 질문을 해결해 주세요.

입력

첫 번째 줄에 QQ가 주어집니다.

두 번째 줄부터 QQ개의 줄에 걸쳐 rr, cc가 공백으로 구분되어 주어집니다.

출력

QQ개의 줄에 걸쳐 문제의 답을 아래와 같이 한 줄에 하나씩 출력해 주세요.

제한

  • 1≤Q≤1061 \leq Q \leq 10^{6}
  • 1≤r≤61 \leq r \leq 6이고 rr은 짝수입니다.
  • 1≤c≤1061 \leq c \leq 10^{6}

예제2

  1. 예제 1

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

    입력
    2
    2 4
    2 46
    
    예상 출력
    0
    0