AtCoder Regular Contest 030

A - 閉路グラフ


Time limit時間制限 : 2sec / Memory limitメモリ制限 : 256MB

問題文

下図のような n(n≧3) 頂点から成る閉路グラフがあります.

このグラフは,頂点 1 と頂点 2を結ぶ辺,頂点 2 と頂点 3,...,頂点 n-1 と頂点 n,そして頂点 n と頂点 1 を結ぶ辺から構成されています.

あなたは,このグラフからいくつかの頂点を取り除く(*)ことでグラフを分断し最終的に k 個の連結成分のみが残ったグラフにしたいと思っています. 実際に頂点を取り除き始める前に,そのような取り除き方が本当に存在するかどうかを判定してください.

(*) ある頂点を取り除くと,その頂点に直接繋がっている辺も取り除かれます.また,必要がなければ 1 つも頂点を取り除かなくても構いません.


入力

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

n
k
  • 1 行目には,閉路グラフの頂点の数を表す整数 n (3 ≦ n ≦ 10^5) が与えられる.
  • 2 行目には,残したい連結成分の数を表す整数 k (1 ≦ k ≦ 10^5) が与えられる.

出力

1行目に,n 頂点の閉路グラフからいくつかの頂点を取り除いて,ちょうど k 個の連結成分を含むグラフにすることができるならば YES,そうでないならば NO を出力せよ.最後に改行を忘れないこと.


入力例1

6
2

出力例1

YES

例えば,下図のように,頂点 1 と頂点 3 を取り除くことで,ちょうど 2 つの連結成分を残すことができます.


入力例2

3
2

出力例2

NO

入力のグラフは下図の通りです.どのように頂点を取り除いても 2 つの連結成分のみを残すことは出来ません.


入力例3

11
6

出力例3

NO

入力例4

11
5

出力例4

YES

Submit提出する