#include #include #include #include #define rep(i,n) for(i=0;i<(int)(n);i++) using namespace std; typedef long long ll; typedef unsigned long long ull; int n,m; int main(){ int i,j; scanf("%d%d",&n,&m); vector a(n); vector > adj(n,vector(0)); rep(i,n)scanf("%d",&a[i]); while(m--){ scanf("%d%d",&i,&j); i--;j--; adj[i].push_back(j); adj[j].push_back(i); } vector path; vector vis(n,false); auto dfs=[&](auto& f,int now)->bool{ path.push_back(now); vis[now]=true; if(path.size()==3){ int data[]={0,1,2}; sort(data,data+3,[&](int i,int j)->bool{ return a[path[i]]