高さ $H$ マス、幅 $W$ マスの格子状に区切られた長方形の紙がある。 $0$ から数えて上から $i$ 行目、左から $j$ 列目のマスには整数 $i \times W+j$ が書かれている。 $H=2, W=3$ の例を下の図に示す。
AOR イカちゃんは、この紙に対して次のような操作を順に行った。
例えば、下の図のように折った後切った場合、$S$ として $4, 3, 0, 5, 2, 1$ が得られる。このように、間に差し込むような折り方も可能である。
あなたは AOR イカちゃんから数列 $S$ を受け取った。 しかし、AOR イカちゃんのことを信用していないので、これが本物か確かめたい。 $S$ と一致するような紙の折り方が存在するなら "YES" を、しないなら "NO" を出力するプログラムを書け。
$H \ W$
$S_0 \cdots S_{HW-1}$
$1 \le H, W \le 500$
$S$ は $0$ から $H \times W - 1$ までの整数を $1$ つずつ含む
1 4 0 1 2 3
YES
2 3 4 3 0 5 2 1
YES
問題文中の例である。
1 4 0 2 1 3
NO
2 2 0 1 3 2
YES
$2$ 回半分に折る。