AT_arc031_2 [ARC031B] 埋め立て

Description

[problemUrl]: https://atcoder.jp/contests/arc031/tasks/arc031_2 とある所に島国がありました。島国にはいくつかの島があります。このたび、この島国で埋め立て計画が立案されたのですが、どこを埋め立てるか決まっていません。できることなら埋め立てによって島を繋いで、$ 1 $ つの島にしてしまいたいのですが、たくさん埋め立てるわけにもいきません。$ 10 $ マス × $ 10 $ マスのこの島国の地図が与えられるので、$ 1 $ マスを埋め立てた時に $ 1 $ つの島にできるか判定してください。ただし、地図で陸地を表すマスが上下左右につながっている領域のことを島と呼びます。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ A_{1,1} $$ A_{1,2} $...$ A_{1,10} $ $ A_{2,1} $$ A_{2,2} $...$ A_{2,10} $ : $ A_{10,1} $$ A_{10,2} $...$ A_{10,10} $ - 島国の地図が $ 10 $ 行にわたって与えられる。 - 各行は $ 10 $ 文字からなり、`o` は陸地を、`x` は海を表す。 - 少なくとも $ 1 $ マスは陸地があることが保証される。 - 少なくとも $ 1 $ マスは海があることが保証される。

Output Format

海を $ 1 $ マスだけ陸地にすることで全体を $ 1 $ つの島にできるなら `YES` 、できないなら `NO` を出力せよ。出力の末尾には改行をつけること。ただし、元から $ 1 $ つの島だった場合も `YES` を出力せよ。