moritaoyå›ã¨ã¯ã€ã‚³ãƒ³ãƒ”ュータã®ãªã‹ã§æš®ã‚‰ã—ã¦ã„る謎ã®å¤§å¦ç”Ÿã§ã™ã€‚
moritaoyå›ãŒæš®ã‚‰ã—ã¦ã„る区画ã¯ã€ç¸¦ã« $2^H$ ã€æ¨ªã« $2^W$ ã€ã®å¤§ãã•ã®ã‚る二次元空間 $S= \{ (p,q) \in \mathbb{Z}^2 | 0 \leq p \lt 2^H, 0 \leq q \lt 2^W \} $ ã¨ã—ã¦è¡¨ã•ã‚Œã¾ã™ã€‚
moritaoyå›ã¯ã„ãã¤ã‹ã®éžè² æ•´æ•°ã‚’è¦ç´ ã¨ã™ã‚‹äºŒæ¬¡å…ƒãƒ™ã‚¯ãƒˆãƒ«ã‚’æŒã£ã¦ã„ã¦ã€ã“ã®ç©ºé–“上を足ã—算を用ã„ã¦ç§»å‹•ã—ã¾ã™ã€‚
moritaoyå›ãŒ $(a,b)$ ã«ã„ã¦ã€ãƒ™ã‚¯ãƒˆãƒ« $(i,j)$ ã«ã‚ˆã£ã¦ç§»å‹•ã™ã‚‹ã¨ã¯ã€å…·ä½“çš„ã«ã¯ä»¥ä¸‹ã®ã‚ˆã†ãªè¡Œå‹•ã‚’示ã—ã¾ã™ã€‚
以下ãŒmoritaoyå›ã®ä¸€æ—¥ã®äºˆå®šã§ã™ã€‚
moritaoyå›ã¯ã€è‰²ã€…ãªäºˆå®šã‚’ç«‹ã¦ã¦éŠã¶ã“ã¨ã«ã—ã¾ã—ãŸã€‚
å„ $(a,b)$ ã«å¯¾ã—ã¦ã€ä¸€æ—¥ã‚’終了ã—ãŸã¨ãã«moritaoyå›ãŒ $(a,b)$ ã«ã„るよã†ãªäºˆå®šå…¨ã¦ã®ã€ä¸€æ—¥ã«ä¼‘憩ã™ã‚‹æ™‚é–“ã®ç·å’Œã‚’求ã‚ã¦ãã ã•ã„。
ãŸã ã—ã€äºŒã¤ã®äºˆå®šãŒç•°ãªã‚‹ã¨ã¯ã€äºŒã¤ã®äºˆå®šã®ä¸€æ—¥ã«ç§»å‹•ã™ã‚‹å›žæ•°ãŒç•°ãªã‚‹ã€ã¾ãŸã¯ã‚ã‚‹ $i$ ãŒã‚ã£ã¦ $i$ 回目ã®ç§»å‹•ã«ç”¨ã„るベクトルãŒç•°ãªã‚‹ã“ã¨ã‚’ã„ã„ã¾ã™ã€‚
入力ã¯ä»¥ä¸‹ã®å½¢å¼ã§ä¸Žãˆã‚‰ã‚Œã‚‹ã€‚
$H$ $W$ $K$ $T_{(0,0)}$ $\ldots$ $T_{(0,2^W-1)}$ $\vdots$ $T_{(2^H-1,0)}$ $\ldots$ $T_{(2^H-1,2^W-1)}$ $G_{(0,0)}$ $\ldots$ $G_{(0,2^W-1)}$ $\vdots$ $G_{(2^H-1,0)}$ $\ldots$ $G_{(2^H-1,2^W-1)}$
$T_{(i,j)}$ ㌠$-1$ ã§ãªã„ã¨ãã€ã‹ã¤ãã®ã¨ãã«é™ã‚Šã€moritaoyå›ã¯ãƒ™ã‚¯ãƒˆãƒ« $(i,j)$ ã‚’æŒã¤ã€‚
$2^H \leq i$ ã¾ãŸã¯ $2^W \leq j$ ãªã‚‰ã°moritaoyå›ã¯ãƒ™ã‚¯ãƒˆãƒ« $(i,j)$ ã‚’æŒãŸãªã„。
入力ã¯ä»¥ä¸‹ã®æ¡ä»¶ã‚’満ãŸã™ã€‚
出力㯠$2^H$ è¡Œã‹ã‚‰ãªã‚‹ã€‚
$i$ 行目ã«ã¯ $2^W$ 個ã®è¦ç´ を空白区切りã§å‡ºåŠ›ã™ã‚‹ã€‚
$i$ 行目㮠$j$ 番目ã®è¦ç´ ã¯ã€ä¸€æ—¥ã‚’終了ã—ãŸã¨ãã«moritaoyå›ãŒ $(i-1,j-1)$ ã«ã„るよã†ãªäºˆå®šå…¨ã¦ã®ã€ä¸€æ—¥ã«ä¼‘憩ã™ã‚‹æ™‚é–“ã®ç·å’Œã§ã‚る。
ãŸã ã—ã€ç”ãˆã¯éžå¸¸ã«å¤§ãããªã‚‹ã“ã¨ãŒã‚ã‚‹ã®ã§ã€$998244353$ ã§å‰²ã£ãŸã‚ã¾ã‚Šã‚’出力ã™ã‚‹ã“ã¨ã€‚
0 0 10 1 2
440
1 2 2 1 2 3 4 5 6 7 0 9 8 7 6 1 3 3 3
355 358 363 386 391 408 419 378
1 1 100000 900000000 -1 -1 902010312 218738721 -1 -1 281371299
311157817 0 0 640524124