AT_arc087_b [ABC082D] FT Robot
Description
[problemUrl]: https://atcoder.jp/contests/abc082/tasks/arc087_b
二次元平面の原点にロボットが置かれています。 最初、ロボットは $ x $ 軸の正の向きを向いています。
このロボットに命令列 $ s $ が与えられます。 $ s $ は次の $ 2 $ 文字のみからなり、先頭から末尾まで順に実行されます。
- `F` : 今向いている向きに長さ $ 1 $ だけ移動する。
- `T` : 時計回りまたは反時計回りの好きな方向に $ 90 $ 度だけ向きを変える。
ロボットの目標は、命令列をすべて実行し終わった後に座標 $ (x,\ y) $ にいることです。 この目標が達成可能か判定してください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ s $ $ x $ $ y $
Output Format
目標が達成可能ならば `Yes` を出力し、達成不可能ならば `No` を出力せよ。
Explanation/Hint
### 制約
- $ s $ は `F`, `T` のみからなる。
- $ 1\ \leq\ |s|\ \leq\ 8\ 000 $
- $ x $, $ y $ は整数である。
- $ |x|,\ |y|\ \leq\ |s| $
### Sample Explanation 1
$ 1 $ 番目の `T` で反時計周りに $ 90 $ 度だけ向きを変え、$ 2 $ 番目の `T` で時計周りに $ 90 $ 度だけ向きを変えればよいです。
### Sample Explanation 2
$ 1 $ 番目の `T` で時計周りに $ 90 $ 度だけ向きを変え、$ 2 $ 番目の `T` で時計周りに $ 90 $ 度だけ向きを変えればよいです。
### Sample Explanation 5
例えば、$ 1 $ 番目の `T` で反時計周りに $ 90 $ 度だけ向きを変え、$ 2 $ 番目の `T` で反時計周りに $ 90 $ 度だけ向きを変えればよいです。