#include <bits/stdc++.h>
#define FNAME "circuit"
using namespace std;
typedef long long ll;
const int MAXN = (int)2e5 + 1;
#define xd '\n'
#define pii pair<int, int>
#define pil pair<int, long long>
const long long MOD = 1e9 + 15092007;
void fastip() {
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
if (fopen(FNAME".inp", "r")) {
freopen(FNAME".inp", "r", stdin);
freopen(FNAME".out", "w", stdout);
}
}
struct Edge{
int u, v;
bool eID;
};
int n, s;
vector<Edge> edge;
vector<vector<int>> adj;
vector<int> Ans;
vector<int> List;
void Euler(int s){
stack<int> st;
st.push(s);
while(!st.empty()){
int u = st.top();
bool check = false;
for(int id : adj[u]){
bool cID = edge[id].eID;
if(!cID){
edge[id].eID = true;
check = true;
st.push((edge[id].u == u) ? edge[id].v : edge[id].u);
break;
}
}
if(!check) {
Ans.push_back(u);
st.pop();
}
}
}
signed main(){
fastip();
cin >> n >> s;
adj.resize(n + 1);
int u, v;
while(cin >> u >> v) {
edge.push_back({u, v, false});
int id = edge.size() - 1;
adj[u].push_back(id);
adj[v].push_back(id);
}
Euler(s);
reverse(Ans.begin(), Ans.end());
for(int i = 0; i < Ans.size() ; i++){
if(Ans[i] == s && i != 0){
cout << "YES";
return 0;
}
}
cout << "NO";
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgRk5BTUUgImNpcmN1aXQiCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnR5cGVkZWYgbG9uZyBsb25nIGxsOwpjb25zdCBpbnQgTUFYTiA9IChpbnQpMmU1ICsgMTsKI2RlZmluZSB4ZCAnXG4nCiNkZWZpbmUgcGlpIHBhaXI8aW50LCBpbnQ+CiNkZWZpbmUgcGlsIHBhaXI8aW50LCBsb25nIGxvbmc+CmNvbnN0IGxvbmcgbG9uZyBNT0QgPSAxZTkgKyAxNTA5MjAwNzsKCnZvaWQgZmFzdGlwKCkgewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7IGNvdXQudGllKDApOwogICAgaWYgKGZvcGVuKEZOQU1FIi5pbnAiLCAiciIpKSB7CiAgICAgICAgZnJlb3BlbihGTkFNRSIuaW5wIiwgInIiLCBzdGRpbik7CiAgICAgICAgZnJlb3BlbihGTkFNRSIub3V0IiwgInciLCBzdGRvdXQpOwogICAgfQp9CgpzdHJ1Y3QgRWRnZXsKICAgIGludCB1LCB2OwogICAgYm9vbCBlSUQ7Cn07CgppbnQgbiwgczsKdmVjdG9yPEVkZ2U+IGVkZ2U7CnZlY3Rvcjx2ZWN0b3I8aW50Pj4gYWRqOwp2ZWN0b3I8aW50PiBBbnM7CnZlY3RvcjxpbnQ+IExpc3Q7Cgp2b2lkIEV1bGVyKGludCBzKXsKICAgIHN0YWNrPGludD4gc3Q7CiAgICBzdC5wdXNoKHMpOwoKICAgIHdoaWxlKCFzdC5lbXB0eSgpKXsKICAgICAgICBpbnQgdSA9IHN0LnRvcCgpOwogICAgICAgIGJvb2wgY2hlY2sgPSBmYWxzZTsKCiAgICAgICAgZm9yKGludCBpZCA6IGFkalt1XSl7CiAgICAgICAgICAgIGJvb2wgY0lEID0gZWRnZVtpZF0uZUlEOwogICAgICAgICAgICBpZighY0lEKXsKICAgICAgICAgICAgICAgIGVkZ2VbaWRdLmVJRCA9IHRydWU7CiAgICAgICAgICAgICAgICBjaGVjayA9IHRydWU7CiAgICAgICAgICAgICAgICBzdC5wdXNoKChlZGdlW2lkXS51ID09IHUpID8gZWRnZVtpZF0udiA6IGVkZ2VbaWRdLnUpOwogICAgICAgICAgICAgICAgYnJlYWs7ICAgCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmKCFjaGVjaykgewogICAgICAgICAgICBBbnMucHVzaF9iYWNrKHUpOwogICAgICAgICAgICBzdC5wb3AoKTsKICAgICAgICB9CiAgICB9Cn0KCnNpZ25lZCBtYWluKCl7CiAgICBmYXN0aXAoKTsKCiAgICBjaW4gPj4gbiA+PiBzOwoKICAgIGFkai5yZXNpemUobiArIDEpOwoKICAgIGludCB1LCB2OwoKICAgIHdoaWxlKGNpbiA+PiB1ID4+IHYpIHsKICAgICAgICBlZGdlLnB1c2hfYmFjayh7dSwgdiwgZmFsc2V9KTsKICAgICAgICBpbnQgaWQgPSBlZGdlLnNpemUoKSAtIDE7CiAgICAgICAgYWRqW3VdLnB1c2hfYmFjayhpZCk7CiAgICAgICAgYWRqW3ZdLnB1c2hfYmFjayhpZCk7CiAgICB9CgogICAgRXVsZXIocyk7CiAgICByZXZlcnNlKEFucy5iZWdpbigpLCBBbnMuZW5kKCkpOwoKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBBbnMuc2l6ZSgpIDsgaSsrKXsKICAgICAgICBpZihBbnNbaV0gPT0gcyAmJiBpICE9IDApewogICAgICAgICAgICBjb3V0IDw8ICJZRVMiOwogICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICB9CiAgICB9CgogICAgY291dCA8PCAiTk8iOwoKICAgIHJldHVybiAwOwp9Cg==