#include using namespace std; struct Edge { int u, v; }; int n,m; int a[1010]; Edge es[4010]; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cin >> n >> m; for (int i = 0; i < n; i++) { cin >> a[i+1]; } for (int i = 0; i < m; i++) { int u, v; cin >> u >> v; es[i] = Edge({u, v}); } for (int i = 0; i < m; i++) { for (int j = i + 1; j < m; j++) { int a, b, c; a = b = c = 0; if (es[i].u == es[j].u) { a = es[i].v, b = es[i].u, c = es[j].v; } else if (es[i].u == es[j].v) { a = es[i].v, b = es[i].u, c = es[j].u; } else if (es[i].v == es[j].u) { a = es[i].u, b = es[i].v, c= es[j].v; } else if (es[i].v == es[j].v) { a = es[i].u, b = es[i].v, c = es[j].u; } if (a) { if ((a < b && b > c && a != c) || (a > b && b < c && a != c)) { cout << "YES" << endl; return 0; } } } } cout << "NO" << endl; return 0; }