Time Limit: 3 sec / Memory Limit: 512 MB
配点 : 100 点
問題文
サイタマでは年に一度の山車のお披露目会がある。もっとも美しい山車には賞金が出ると聞いた埼大くんと埼大くんの友達はお披露目会に参加することにした。
お披露目会の会場に向かう途中、隣街の男衆が山車に乗って邪魔をしてきた。男衆が山車の右側にa人、左側にb人乗っているようだ。
どうしても賞金が欲しい埼大くんたちは完璧な山車を披露したいため、会場に到着するまでに男衆を全員振り払う必要がある。
単位時間内にとりうる山車の動きは次の3パターンである。
-
左に90度向きを変えてから一マス前進する。
-
右に90度向きを変えてから一マス前進する。
-
向きを変えずに一マス前進する。
1.の動きにより右側に乗っている人を、2.の動きにより左側に乗っている人を、一人づつ振り落とすことができる。
しかし必要以上に向きを変えたくないため、1.の動きをa回行った以後は1.の、2.の動きをb回行った以後は2.の動きを行わない。
埼大くんたちは地図を見てルートを決めることにした。
地図の縦の長さは h 、横の長さは w で、通れる場所は '.' 、通れない場所は '#' である。通過する街はマス目状に区切られており、地図上では i行j 列目のマス は c(i,j) で表される。
現在地は c(2,2) 、会場は c(h-1,w-1) である。現在地と、会場は '.' であることが保証されている。
地図の一番外側はすべて '#' で囲まれている。 c(1,1)~c(1,w) に面している方面の方角が北であり、埼大くんたちは最初南を向いている。
埼大くんたちは無事にお披露目会に参加できるかどうかを判定せよ。
制約
- 1 \leq a, b \leq 15
- 3 \leq h, w \leq 15
入力
入力は以下の形式で標準入力から与えられる。
a b h w c(1,1)c(1,2) … c(1,w) c(2,1)c(2,2) … c(2,w) : c(h,1)c(h,2) … c(h,w)
1行目に右側に乗ってきた男衆の人数a、左側に乗ってきた男衆の人数bが与えられる。 2行目に地図の縦の長さh、横の長さwが与えられる。 続くh行に長さwの文字列が1行ずつ与えられる。 各文字c(i,j)は'.'もしくは'#'のいずれかであり、'.'は通れる地点であり、'#'は通れない地点であることを表す。
出力
埼大くんたちが無事にお披露目会に参加できるなら Yes 、できないなら No を出力せよ。
入力例 1
3 3 7 7 ####### #.#..## #..#..# ##...## #..#..# ##..#.# #######
出力例 1
Yes
入力例 2
4 3 5 7 ####### #.#..## #...#.# #.#...# #######
出力例 2
No