N x M 격자를 흑백으로 칠할 때 모든 X x Y 부분 직사각형이 두 색을 모두 포함하도록 하는 색칠의 수를 세는 문제이다.
1×11 \times 11×1 크기의 칸으로 나누어진 N×MN \times MN×M 격자가 있다. 각 칸을 검은색이나 흰색으로 칠하려고 한다. 이때 세로 XXX칸, 가로 YYY칸짜리 직사각형이 한 가지 색으로만 칠해지면 안 된다. 즉 격자에서 잘라낸 모든 X×YX \times YX×Y 직사각형은 검은 칸과 흰 칸을 적어도 하나씩 포함해야 한다.
조건을 만족하는 색칠 방법의 수를 구하는 프로그램을 작성하시오.
첫째 줄에 NNN, MMM, XXX, YYY가 공백으로 구분되어 주어진다. (1≤X≤31 \le X \le 31≤X≤3, 2≤Y≤M2 \le Y \le M2≤Y≤M)
NNN과 MMM의 범위는 XXX에 따라 달라진다.
첫째 줄에 색칠 방법의 수를 1,000,000,007로 나눈 나머지를 출력한다.