Yotsugi leikki korkeuden $h$ ja leveyden $w$ ruudukolla $A$, joka oli aluksi täytetty nollilla, suorittamalla seuraavia 2 operaatiota jossakin järjestyksessä:
- Valitse arvot $i, j$ ($0 \le i \le h - 1, 0 \le j \le w - 1$) sekä merkki $+$ tai $-$, ja muuta arvot $A_{i,j}, A_{i,j+1}, A_{i+1,j}, A_{i+1,j+1}$ vastaavasti arvoiksi $A_{i,j} \pm 2, A_{i,j+1} \pm 1, A_{i+1,j} \pm 1, A_{i+1,j+1} \pm 2$, missä $\pm$ korvataan valitulla merkillä. Tässä Yotsugi katsoo arvon $A_{h,j}$ vastaavan arvoa $A_{0,j}$ ja arvon $A_{i,w}$ vastaavan arvoa $A_{i,0}$. Toisin sanoen hän käsittelee ruudukkoaan toruksena.
- Valitse arvot $i, j$ ($0 \le i \le h - 1, 0 \le j \le w - 1$) sekä merkki $+$ tai $-$, ja muuta arvot $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}$ vastaavasti arvoiksi $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$, missä $\pm$ korvataan valitulla merkillä. Kuten edellisessäkin operaatiossa, Yotsugi käsittelee ruudukkoa toruksena.
Operaatioiden hahmottamiseksi helpommin katso huomautusosio.
Seuraavana päivänä tulta syöksevä etana söi ruudukon, ja nyt Yotsugi pohtii, kuinka monta mahdollista ruudukkoa hänellä olisi voinut olla, jos operaatioiden suorittamisen jälkeen kaikki arvot $A_{i,j}$ kuuluivat välille $[0, k]$. Huomaa, että Yotsugin suorittaessa operaatioita arvot $A_{i,j}$ saattoivat olla negatiivisia tai ylittää arvon $k$. Koska vastaus voi olla suuri, auta häntä löytämään se modulo $10^9 + 9$.
Syöte
Ensimmäinen rivi sisältää 3 kokonaislukua $h, w, k$ ($3 \le h, w \le 1\,000$, $1 \le k \le 10^9$) — ruudukon koon sekä suurimman mahdollisen arvon ruudukossa.
Tuloste
Tulosta tehtävän vastaus modulo $10^9 + 9$.
Esimerkit
Syöte 1
3 3 1
Tuloste 1
2
Syöte 2
4 4 52
Tuloste 2
972950693
Syöte 3
7 10 123
Tuloste 3
93519598
Huomautus
Esimerkiksi jos meillä olisi $4 \times 4$-matriisi, voisimme suorittaa operaatiot seuraavalla tavalla:
Ensimmäisen operaation suorittaminen merkillä $-$.
Toisen operaation suorittaminen merkillä $+$.
Ensimmäisen operaation suorittaminen merkillä $+$.
Ensimmäisen operaation suorittaminen merkillä $+$.
Ja koska kaikki arvot ovat välillä $[0, 42]$, tämä on yksi niistä matriiseista, jotka sinun tulee laskea toisessa esimerkissä.