#define _USE_MATH_DEFINES #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int main() { int n, m; cin >> n >> m; vector a(n); for(int i=0; i> a[i]; vector > edges(n); for(int i=0; i> u >> v; edges[u-1].push_back(v-1); edges[v-1].push_back(u-1); } bool ans = false; for(int i=0; i > s(2); for(int j : edges[i]){ if(a[j] < a[i]) s[0].insert(a[j]); else if(a[j] > a[i]) s[1].insert(a[j]); } if(s[0].size() > 1 || s[1].size() > 1){ cout << "YES" << endl; return 0; } } cout << "NO" << endl; return 0; }