#include //#include using namespace std; //using namespace atcoder; using ll = long long; using ull = unsigned long long; using ld = long double; //using mint = modint998244353; int main(){ cin.tie(nullptr); ios_base::sync_with_stdio(false); ll n,m,k; cin >> n >> m >> k; ll u,v; vector> pass(n,vector(0)); for(ll i = 0; i < m; i++){ cin >> u >> v; u--; v--; pass[u].push_back(v); } vector> come(n,vector(2,0)); queue> bfs; bfs.push({0,0}); come[0][0] = 1; while(!bfs.empty()){ ll x = bfs.front().first; ll p = bfs.front().second; bfs.pop(); for(ll i : pass[x]){ ll np = p * -1 + 1; if(come[i][np])continue; come[i][np] = 1; bfs.push({i,np}); } } bool ans = 1; for(ll i = 1; i < n; i++){ if(!come[i][0] && !come[i][1])ans = 0; } if(!come[0][1])ans = 0; if(ans)cout << "Yes" << '\n'; else cout << "No" << '\n'; }