L 氏はある都市の市長である.L 氏の市長としての手腕はすさまじく時を止め一瞬にして都市中に鉄道網を引いたり,財政の赤字を一夜にして莫大な黒字にしたり,はては巨大な怪獣をどこからともなく呼んでパフォーマンスに使うこともした.
そんな L 氏は土地の隣り合った行または列同士を何度も入れ替えることででこぼこな土地を山形にするという遊びを最近発明した.土地は H×W 個のブロックに区切られており,ブロック (y,x) では海面からの高さが hy,x であると測定されている.入れ替え後のブロック (y,x) の高さを h'y,x と書くことにする.この土地が山形であるとは,以下の図のように,あるブロック (y*,x*) があって,そこを山頂として山頂から離れるに従って高さが単調減少しているものをいう.
h'y*−1,x*−2 | < | h'y*−1,x*−1 | < | h'y*−1,x* | > | h'y*−1,x*+1 | > | h'y*−1,x*+2 |
∧ | ∧ | ∧ | ∧ | ∧ | ||||
h'y*,x*−2 | < | h'y*,x*−1 | < | h'y*,x* | > | h'y*,x*+1 | > | h'y*,x*+2 |
∨ | ∨ | ∨ | ∨ | ∨ | ||||
h'y*+1,x*−2 | < | h'y*+1,x*−1 | < | h'y*+1,x* | > | h'y*+1,x*+1 | > | h'y*+1,x*+2 |
最初の行に H と W がスペース区切りで与えられる.
次の H 行に土地の高さが与えられる. 各行は W 個の数値からなり,それぞれ対応する場所の高さを表す.
土地を山形にできるなら "YES",できないなら "NO" を出力せよ.
3 3 1 3 2 7 9 8 4 6 5
YES
以下の例では 2 番目の列と 3 番目の列を入れ替えることにより土地を山形にすることができる.
3 3 9 3 6 8 2 5 7 1 4
YES
1 1 100
YES
3 3 1 3 2 4 6 5 7 8 9
NO