Yotsugi 玩緊一個高度係 $h$、闊度係 $w$ 嘅網格 $A$,個網格一開始全部填滿零,佢按某種次序對個網格做以下 2 種操作:
- 揀數值 $i, j$($0 \le i \le h - 1, 0 \le j \le w - 1$)同埋符號 $+$ 或者 $-$,然後將 $A_{i,j}, A_{i,j+1}, A_{i+1,j}, A_{i+1,j+1}$ 嘅值相應噉改做 $A_{i,j} \pm 2, A_{i,j+1} \pm 1, A_{i+1,j} \pm 1, A_{i+1,j+1} \pm 2$,其中 $\pm$ 會換成揀咗嘅符號。喺度,Yotsugi 視 $A_{h,j}$ 等同於 $A_{0,j}$,同埋 $A_{i,w}$ 等同於 $A_{i,0}$。換句話講,佢將個網格當做一個環面(torus)。
- 揀數值 $i, j$($0 \le i \le h - 1, 0 \le j \le w - 1$)同埋符號 $+$ 或者 $-$,然後將 $A_{i,j}, A_{i,j+1}, A_{i,j+2}, A_{i+1,j}, A_{i+1,j+1}, A_{i+1,j+2}, A_{i+2,j}, A_{i+2,j+1}, A_{i+2,j+2}$ 嘅值相應噉改做 $A_{i,j} \pm 2, A_{i,j+1} \pm 5, A_{i,j+2} \pm 2, A_{i+1,j} \pm 5, A_{i+1,j+1} \pm 5, A_{i+1,j+2} \pm 5, A_{i+2,j} \pm 2, A_{i+2,j+1} \pm 5, A_{i+2,j+2} \pm 2$,其中 $\pm$ 會換成揀咗嘅符號。同上一個操作一樣,Yotsugi 將個網格當做一個環面。
為咗更容易理解呢啲操作,請參考說明部分。
第二日,個網格俾噴火鼻涕蟲食咗,依家 Yotsugi 想知道,如果佢做完所有操作之後,所有數值 $A_{i,j}$ 都喺 $[0, k]$ 入面,佢可能整到幾多種唔同嘅網格。注意,當 Yotsugi 做緊操作嗰陣,數值 $A_{i,j}$ 可以係負數或者大過 $k$。因為答案可能好大,請幫佢計出答案對 $10^9 + 9$ 取模之後嘅結果。
輸入格式
第一行包含 3 個整數 $h, w, k$($3 \le h, w \le 1\,000$,$1 \le k \le 10^9$)—— 網格嘅大細同埋網格入面可能出現嘅最大值。
輸出格式
輸出問題嘅答案對 $10^9 + 9$ 取模之後嘅結果。
範例
輸入 1
3 3 1
輸出 1
2
輸入 2
4 4 52
輸出 2
972950693
輸入 3
7 10 123
輸出 3
93519598
說明
舉個例,如果我哋有一個 $4 \times 4$ 嘅矩陣,我哋可以按下面嘅方式做操作:
用符號 $-$ 做第一種操作。
用符號 $+$ 做第二種操作。
用符號 $+$ 做第一種操作。
用符號 $+$ 做第一種操作。
因為所有數值都喺 $[0, 42]$ 入面,所以呢個係第二個範例入面要求你數嘅其中一個矩陣。