#abc297b. [abc297_b]chess960

[abc297_b]chess960

問題文

高橋君は chess960 と呼ばれるゲームで遊んでいます。 高橋君はランダムに決めた初期配置が chess960 の条件を満たすか確認するプログラムを書くことにしました。

長さ 88 の文字列 SS が与えられます。SS には K, Q がちょうど 11 文字ずつ、R, B, N がちょうど 22 文字ずつ含まれます。 SS が以下の条件を全て満たしているか判定してください。

  • SS において左から x,y(x<y)x,y\\ (x < y) 文字目が B であるとする。このとき xxyy の偶奇が異なる。

  • K22 つの R の間にある。より形式的には、SS において左から x,y(x<y)x,y\\ (x < y) 文字目が R であり、 zz 文字目が K であるとする。このとき、 x<z<yx< z < y が成り立つ。

制約

  • SS は 長さ 88 の文字列であり、K, Q がちょうど 11 文字ずつ、R, B, N がちょうど 22 文字ずつ含まれる。

入力

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

SS

出力

SS が条件を満たす場合 Yes を、そうでない場合 No を出力せよ。


入力例 1

RNBQKBNR

出力例 1

Yes

B は左から 33 番目、66 番目にあり、3366 は偶奇が異なります。 また、K22 つの R の間にあります。よって条件を満たします。


入力例 2

KRRBBNNQ

出力例 2

No

K22 つの R の間にありません。


入力例 3

BRKRBQNN

出力例 3

No