#include <bits/stdc++.h>
#define int long long
using namespace std;
void solve() {
int n, m;
cin >> n >> m;
vector <int> s(n + 1);
int sum = 0;
for (int i = 1; i <= n; i ++) cin >> s[i], sum += s[i];
vector <vector <int> > gr(n + 1);
for (int i = 1, u, v; i <= m; i ++) {
cin >> u >> v;;
gr[u].push_back(v);
gr[v].push_back(u);
}
for (int i = 1; i <= n; i ++) {
vector <bool> vis(n + 1, false);
priority_queue <pair <int, int>, vector <pair <int, int> >, greater<pair <int, int> > > pq;
int cur = 0;
pq.push({s[i], i});
vis[i] = true;
while (!pq.empty()) {
auto [si1, i1] = pq.top();
pq.pop();
if (si1 > cur && i1 != i) break;
cur += si1;
for (auto j : gr[i1]) {
if (vis[j]) continue;
vis[j] = true;
pq.push({s[j], j});
}
}
if (cur == sum) cout << 1;
else cout << 0;
}
cout << '\n';
return ;
}
signed main() {
// freopen("input.txt", "r", stdin);
// freopen("output.txt", "w", stdout);
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int t = 1;
// cin >> t;
while (t --) solve();
return 0;
}