#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 2e5 + 5;
int n, m, a[N], vis[N];
string ans;
vector<int> adj[N];
priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>> pq;
signed main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cin >> n >> m;
for(int i = 1;i<=n;i++) cin >> a[i];
for(int i = 1;i<=m;i++){
int u, v; cin >> u >> v;
adj[u].push_back(v);
adj[v].push_back(u);
}
for(int i = 1;i<=n;i++){
for(int j = 1;j<=n;j++) vis[j] = 0;
int sm = a[i], ok = 1;
pq.push({0, i});
vis[i] = 1;
while(!pq.empty()){
auto [d, u] = pq.top();
pq.pop();
if(sm < d){
ok = 0;
break;
}
sm += d;
for(auto v : adj[u]){
if(!vis[v]){
vis[v] = 1;
pq.push({a[v], v});
}
}
}
if(ok) ans += '1';
else ans += '0';
while(pq.size()) pq.pop();
}
cout << ans;
}