#include <iostream> 
#include <vector>
using namespace std;

const int N=1e5+5;
int n,m;
int t[N];
vector<int> g[N];
string ans="No";
bool v[N];

void f(int i){
    if(v[i]) return;
    if(t[i]) return;
    if(i==n){ ans="Yes";return;}

    v[i]=true;

    if(g[i].size()){
        for(int j:g[i]){
            f(j);
        }
    }
}

int main() {
    cin>>n>>m;
    for(int i=1;i<=n;i++) cin>>t[i];

    for(int i=0;i<m;i++){
        int a,b;cin>>a>>b;
        g[a].push_back(b);
        g[b].push_back(a);

    }
    f(1);
    cout<<ans;
}
// 64 位输出请用 printf("%lld")