#include #define pt(sth) cout << sth << "\n" #define itr(x,c) for(auto x=c.begin();x!=c.end();x++) #define ritr(x,c) for(auto x=c.rbegin();x!=c.rend();x++) #define all(a) (a.begin()),(a.end()) #define rall(a) (a.rbegin()),(a.rend()) using namespace std; #include using namespace atcoder; typedef long long ll; typedef pair pll; templatebool chmax(T &a, const T &b) {if(abool chmin(T &a, const T &b) {if(b>a[i]; typedef vector v1d; typedef vector v2d; typedef vector v3d; typedef vector v4d; int main(void) { ll i,j,k; /* ll N;cin>>N; v1d a(N); for(i=0;i>a[i]; */ ll N,K;cin>>N>>K; v2d g(N+1,v1d()); for(i=1;i q; q.push({0,1}); while(q.size()){ ll u=q.front().second; ll du=q.front().first; q.pop(); if(du>d[u]) continue; for(auto v:g[u]){ if(chmin(d[v],du+1)) q.push({d[v],v}); } } pt((d[N]<=K?"YES":"NO")); }