A さんと B 君は,N × M の長方形のマス目状の地域に住んでいる.各マス目は道か壁か家のどれかである.この地域は,道が複雑で入り組んでいるので痴漢被害がよく起こることで有名であるため,この地域と外部との境界は全て壁で囲まれており,隔離されている.

B 君はなんとなく気が向いたので,A さんの家を眺めに行くことにした.しかし,不幸なことにB 君は明らかに怪しい顔をしているので,A さんの家に行く途中に少しでも痴漢の疑いがあるような行動を取ったらすぐに捕まってしまうだろう.特に,右手を壁から離して歩くことは絶対にやってはならない.B 君は,一瞬たりとも右手を離すことなく,A さんの家に辿り着くことが出来るだろうか?

B 君はつねに上下左右いずれかの方向を向いていて,B 君の右手が届く範囲はB 君の向いている方向に対して正面,斜め右前,右,斜め右後ろの4 マスのみである.B 君は,次のいずれかの行動を繰り返す.ただし,これらを同時に行うことは出来ない.

Input

入力は以下の形式で与えられる.

N M
S1
S2
:
SN

Si (1 ≤ iN) は, M 文字の文字列で各文字は次を表す.

Constraints

Output

一度も右手を離さずにA さんの家に辿り着くことが出来る場合には,A さんの家にたどり着くまでに通った異なるマスの数の最小値を出力せよ.A さんの家に辿り着くことが出来ない場合には,-1 を出力せよ.

Sample Input 1

3 3
G##
.#.
.<.

Output for the Sample Input 1

4

Sample Input 2

3 3
G##
.#.
.>.

Output for the Sample Input 2

6

Sample Input 3

3 3
...
.G.
.>.

Output for the Sample Input 3

-1

Sample Input 4

4 4
....
.#.G
...#
^#..

Output for the Sample Input 4

8