A - DEAD END 解説 /

実行時間制限: 2 sec / メモリ制限: 256 MB

問題文

あなたは友人の高橋君からとあるゲームを熱烈にオススメされている。

このゲームは 4 \times 4 のグリッド状に区切られた 16 個のセルと、その上に置かれた数が書かれたタイルを使ってプレーする。1 回の操作では上下左右の 4 方向のうちいずれかを指定することができ、指定した方向に向かってセル上のタイルが滑っていく。このとき、同じ数の書かれたタイル 2 枚がぶつかるとその 2 枚はグリッド上から取り除かれ、代わりに数を 2 倍した別のタイルが 1 枚新たに置かれる。

次の図は盤面の状態と、そこから右に向かって 1 回操作を行った後の盤面の例である。

上下左右のどの方向を指定してもタイルがまったく滑ることができず、同じ数のタイルをぶつけることもできなくなったらゲームオーバーで、それまでに出来るだけ大きい数の書かれたタイルを作るのが目的だ。

このゲームは確かに非常に面白そうだと思ったが、まだ慣れていないからか、グリッド上がタイルでいっぱいになったときにゲームオーバーなのかをなかなか判別できない。そこで、グリッド上のタイルの情報が与えられたときにゲームオーバーの状態なのかどうかを判定するようなプログラムを書くことにした。


入力

入力は以下の形式で標準入力から与えられる。

A_{1,1} A_{1,2} A_{1,3} A_{1,4}
A_{2,1} A_{2,2} A_{2,3} A_{2,4}
A_{3,1} A_{3,2} A_{3,3} A_{3,4}
A_{4,1} A_{4,2} A_{4,3} A_{4,4}
  • 4 行にわたってタイルの情報が書かれている。A_{r,c} (2 ≦ A_{r,c} ≦ 2048) は、グリッド上で上から数えて r 番目、左から数えて c 番目のセルに置かれているタイルに書かれている数を表す。
    • A_{r,c} はすべて 2 の累乗である。すなわち、A_{r,c}2,\,4,\,8,\,16,\,32,\,64,\,128,\,256,\,512,\,1024,\,2048 のいずれかである。

出力

与えられたグリッドの状態がゲームオーバーなら GAMEOVER、まだ操作ができるなら CONTINUE1 行に出力せよ。

出力の末尾にも改行をいれること。


入力例1

2 8 2 2
32 2 8 8
4 64 2 128
2 8 4 2

出力例1

CONTINUE

上下にはタイルを動かすことができませんが、左右に動かせば 2 が書かれたタイルどうしや 8 が書かれたタイルどうしをぶつけることが可能です。


入力例2

2 4 16 4
8 32 128 8
2 64 16 2
32 4 32 4

出力例2

GAMEOVER

どの方向に動かそうとしても同じ数の書かれたタイルをぶつけることができません。


入力例3

2 4 2 4
4 2 4 2
2 4 2 4
4 2 4 2

出力例3

GAMEOVER