#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N = 2005;
vector <int> g[N];
int sz[N], ans[N], vis[N];
signed main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int n, m, sum = 0;
cin >> n >> m;
for (int i = 1; i <= n; i ++) cin >> sz[i], sum += sz[i];
for (int i = 1, u, v; i <= m; i ++) cin >> u >> v, g[u].push_back(v), g[v].push_back(u);
for (int i = 1; i <= n; i ++) sort(g[i].begin(), g[i].end(), [&](auto x, auto y){ return sz[x] < sz[y]; });
for (int s = 1; s <= n; s ++) {
int cur = sz[s];
priority_queue <pair <int, int>> q; vis[s] = 1;
for (int x : g[s]) q.push({-sz[x], x}), vis[x] = 1;
while (!q.empty()) {
auto [s, i] = q.top(); q.pop(); s = -s;
if (s > cur) break;
cur += s;
for (int x : g[i]) if (!vis[x]) q.push({-sz[x], x}), vis[x] = 1;
}
if (cur == sum) ans[s] = 1;
else ans[s] = 0;
for (int i = 1; i <= n; i ++) vis[i] = 0;
}
for (int i = 1; i <= n; i ++) cout << ans[i];
return 0;
}