#include <bits/stdc++.h>
using namespace std;
const int MAX_N = 2e5 + 5;
int n, m, numEdge, numRoot;
vector<int> adj[MAX_N], g[MAX_N];
bool deleted[MAX_N];
int root[MAX_N];
int timeIn[MAX_N], low[MAX_N];
int dfsTime;
bool mark[MAX_N];
stack<int> st;
void addEdge(int u, bool t1, int v, bool t2) {
adj[u + (!t1 ? 0 : n)].push_back(v + (t2 ? 0 : n));
adj[v + (!t2 ? 0 : n)].push_back(u + (t1 ? 0 : n));
}
void dfs(int u) {
timeIn[u] = low[u] = ++dfsTime;
st.push(u);
for (int v : adj[u]) {
if (deleted[v]) continue;
if (!timeIn[v]) {
dfs(v);
low[u] = min(low[u], low[v]);
}
else {
low[u] = min(low[u], timeIn[v]);
}
}
if (timeIn[u] == low[u]) {
++numRoot;
int v;
do {
v = st.top();
st.pop();
deleted[v] = true;
root[v] = numRoot;
}
while (v != u);
}
}
vector<int> topo;
int id[MAX_N];
void topoSort(int u) {
deleted[u] = true;
for (int v : g[u]) {
if (!deleted[v]) {
topoSort(v);
}
}
topo.push_back(u);
}
signed main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cin >> n >> m;
for (int i = 1; i <= m; i++) {
int a, b, c;
bool x, y, z;
cin >> a >> x >> b >> y >> c >> z;
addEdge(a, x, b, y);
addEdge(a, x, c, z);
addEdge(b, y, c, z);
}
for (int i = 1; i <= (n << 1); i++) {
if (!timeIn[i]) {
dfs(i);
}
}
for (int i = 1; i <= (n << 1); i++) {
for (int v : adj[i]) {
if (root[v] != root[i]) {
g[root[i]].push_back(root[v]);
}
}
}
for (int i = 1; i <= numRoot; i++) {
deleted[i] = 0;
}
for (int i = 1; i <= numRoot; i++) {
if (!deleted[i]) {
topoSort(i);
}
}
reverse(topo.begin(), topo.end());
for (int i = 0; i < (int) topo.size(); i++) {
id[topo[i]] = i + 1;
}
for (int i = 1; i <= n; i++) {
if (id[root[i]] == id[root[i + n]]) {
cout << -1;
return 0;
}
mark[i] = (id[root[i]] > id[root[i + n]]);
}
for (int i = 1; i <= n; i++) {
cout << mark[i];
}
return 0;
}
// by Asamai
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiAKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIApjb25zdCBpbnQgTUFYX04gPSAyZTUgKyA1OwogCmludCBuLCBtLCBudW1FZGdlLCBudW1Sb290Owp2ZWN0b3I8aW50PiBhZGpbTUFYX05dLCBnW01BWF9OXTsKYm9vbCBkZWxldGVkW01BWF9OXTsKaW50IHJvb3RbTUFYX05dOwppbnQgdGltZUluW01BWF9OXSwgbG93W01BWF9OXTsKaW50IGRmc1RpbWU7CmJvb2wgbWFya1tNQVhfTl07CnN0YWNrPGludD4gc3Q7CiAKdm9pZCBhZGRFZGdlKGludCB1LCBib29sIHQxLCBpbnQgdiwgYm9vbCB0MikgewogICAgYWRqW3UgKyAoIXQxID8gMCA6IG4pXS5wdXNoX2JhY2sodiArICh0MiA/IDAgOiBuKSk7CiAgICBhZGpbdiArICghdDIgPyAwIDogbildLnB1c2hfYmFjayh1ICsgKHQxID8gMCA6IG4pKTsKfQogCnZvaWQgZGZzKGludCB1KSB7CiAgICB0aW1lSW5bdV0gPSBsb3dbdV0gPSArK2Rmc1RpbWU7CiAgICBzdC5wdXNoKHUpOwogIAogICAgZm9yIChpbnQgdiA6IGFkalt1XSkgewogICAgICAgIGlmIChkZWxldGVkW3ZdKSBjb250aW51ZTsKICAgICAgICBpZiAoIXRpbWVJblt2XSkgewogICAgICAgICAgICBkZnModik7CiAgICAgICAgICAgIGxvd1t1XSA9IG1pbihsb3dbdV0sIGxvd1t2XSk7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICBsb3dbdV0gPSBtaW4obG93W3VdLCB0aW1lSW5bdl0pOwogICAgICAgIH0KICAgIH0KIAogICAgaWYgKHRpbWVJblt1XSA9PSBsb3dbdV0pIHsKICAgICAgICArK251bVJvb3Q7CiAgICAgICAgaW50IHY7CiAgICAgICAgZG8gewogICAgICAgICAgICB2ID0gc3QudG9wKCk7CiAgICAgICAgICAgIHN0LnBvcCgpOwogICAgICAgICAgICBkZWxldGVkW3ZdID0gdHJ1ZTsKICAgICAgICAgICAgcm9vdFt2XSA9IG51bVJvb3Q7CiAgICAgICAgfQogICAgICAgIHdoaWxlICh2ICE9IHUpOwogICAgfQp9CiAKdmVjdG9yPGludD4gdG9wbzsKaW50IGlkW01BWF9OXTsKdm9pZCB0b3BvU29ydChpbnQgdSkgewogICAgZGVsZXRlZFt1XSA9IHRydWU7CiAgICBmb3IgKGludCB2IDogZ1t1XSkgewogICAgICAgIGlmICghZGVsZXRlZFt2XSkgewogICAgICAgICAgICB0b3BvU29ydCh2KTsKICAgICAgICB9CiAgICB9CiAgICB0b3BvLnB1c2hfYmFjayh1KTsKfQogCnNpZ25lZCBtYWluKCkgewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKG51bGxwdHIpOwogCiAgICBjaW4gPj4gbiA+PiBtOwogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbTsgaSsrKSB7CiAgICAgICAgaW50IGEsIGIsIGM7CiAgICAgICAgYm9vbCB4LCB5LCB6OwogICAgICAgIGNpbiA+PiBhID4+IHggPj4gYiA+PiB5ID4+IGMgPj4gejsKICAgICAgICBhZGRFZGdlKGEsIHgsIGIsIHkpOwogICAgICAgIGFkZEVkZ2UoYSwgeCwgYywgeik7CiAgICAgICAgYWRkRWRnZShiLCB5LCBjLCB6KTsKICAgIH0KIAogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gKG4gPDwgMSk7IGkrKykgewogICAgICAgIGlmICghdGltZUluW2ldKSB7CiAgICAgICAgICAgIGRmcyhpKTsKICAgICAgICB9CiAgICB9CiAKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IChuIDw8IDEpOyBpKyspIHsKICAgICAgICBmb3IgKGludCB2IDogYWRqW2ldKSB7CiAgICAgICAgICAgIGlmIChyb290W3ZdICE9IHJvb3RbaV0pIHsKICAgICAgICAgICAgICAgIGdbcm9vdFtpXV0ucHVzaF9iYWNrKHJvb3Rbdl0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogCiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBudW1Sb290OyBpKyspIHsKICAgICAgICBkZWxldGVkW2ldID0gMDsKICAgIH0KICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG51bVJvb3Q7IGkrKykgewogICAgICAgIGlmICghZGVsZXRlZFtpXSkgewogICAgICAgICAgICB0b3BvU29ydChpKTsKICAgICAgICB9CiAgICB9CiAKICAgIHJldmVyc2UodG9wby5iZWdpbigpLCB0b3BvLmVuZCgpKTsKIAogICAgZm9yIChpbnQgaSA9IDA7IGkgPCAoaW50KSB0b3BvLnNpemUoKTsgaSsrKSB7CiAgICAgICAgaWRbdG9wb1tpXV0gPSBpICsgMTsKICAgIH0KIAogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSB7CiAgICAgICAgaWYgKGlkW3Jvb3RbaV1dID09IGlkW3Jvb3RbaSArIG5dXSkgewogICAgICAgICAgICBjb3V0IDw8IC0xOwogICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICB9CiAKICAgICAgICBtYXJrW2ldID0gKGlkW3Jvb3RbaV1dID4gaWRbcm9vdFtpICsgbl1dKTsKICAgIH0KIAogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSB7CiAgICAgICAgY291dCA8PCBtYXJrW2ldOwogICAgfQogCiAgICByZXR1cm4gMDsKfQoKCi8vIGJ5IEFzYW1haQ==