#include <iostream>
using namespace std;
int n, m;
int susedi[101][101];
int boje[101];
bool moze_boja(int cvor, int boja)
{
for (int predajnik = 0; predajnik < n; predajnik++)
if (susedi[predajnik][cvor] and boje[predajnik] == boja)
return false;
return true;
}
bool resi(int cvor)
{
if (cvor == n)
return true;
for (int boja = 1; boja <= 3; boja++)
{
if (moze_boja(cvor, boja))
{
boje[cvor] = boja;
if (resi(cvor + 1))
return true;
boje[cvor] = 0;
}
}
return false;
}
int main()
{
cin >> n >> m;
for (int i = 0; i < n; i++)
{
boje[i] = 0;
for (int j = 0; j < m; j++)
susedi[i][j] = false;
}
for (int i = 0; i < m; i++)
{
int od_prijemnika, ka_prijemniku;
cin >> od_prijemnika >> ka_prijemniku;
susedi[od_prijemnika][ka_prijemniku] = true;
susedi[ka_prijemniku][od_prijemnika] = true;
}
if (resi(0))
{
for (int i = 0; i < n; i++)
cout << boje[i] << " ";
cout << endl;
}
else
cout << "-" << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBuLCBtOwppbnQgc3VzZWRpWzEwMV1bMTAxXTsKaW50IGJvamVbMTAxXTsKCmJvb2wgbW96ZV9ib2phKGludCBjdm9yLCBpbnQgYm9qYSkKewogICAgZm9yIChpbnQgcHJlZGFqbmlrID0gMDsgcHJlZGFqbmlrIDwgbjsgcHJlZGFqbmlrKyspCiAgICAgICAgaWYgKHN1c2VkaVtwcmVkYWpuaWtdW2N2b3JdIGFuZCBib2plW3ByZWRham5pa10gPT0gYm9qYSkKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgcmV0dXJuIHRydWU7Cn0KCmJvb2wgcmVzaShpbnQgY3ZvcikKewogICAgaWYgKGN2b3IgPT0gbikKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIGZvciAoaW50IGJvamEgPSAxOyBib2phIDw9IDM7IGJvamErKykKICAgIHsKICAgICAgICBpZiAobW96ZV9ib2phKGN2b3IsIGJvamEpKQogICAgICAgIHsKICAgICAgICAgICAgYm9qZVtjdm9yXSA9IGJvamE7CiAgICAgICAgICAgIGlmIChyZXNpKGN2b3IgKyAxKSkKICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICBib2plW2N2b3JdID0gMDsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gZmFsc2U7Cn0KCmludCBtYWluKCkKewogICAgY2luID4+IG4gPj4gbTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKQogICAgewogICAgICAgIGJvamVbaV0gPSAwOwogICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgbTsgaisrKQogICAgICAgICAgICBzdXNlZGlbaV1bal0gPSBmYWxzZTsKICAgIH0KICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbTsgaSsrKQogICAgewogICAgICAgIGludCBvZF9wcmlqZW1uaWthLCBrYV9wcmlqZW1uaWt1OwogICAgICAgIGNpbiA+PiBvZF9wcmlqZW1uaWthID4+IGthX3ByaWplbW5pa3U7CiAgICAgICAgc3VzZWRpW29kX3ByaWplbW5pa2FdW2thX3ByaWplbW5pa3VdID0gdHJ1ZTsKICAgICAgICBzdXNlZGlba2FfcHJpamVtbmlrdV1bb2RfcHJpamVtbmlrYV0gPSB0cnVlOwogICAgfQogICAgaWYgKHJlc2koMCkpCiAgICB7CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspCiAgICAgICAgICAgIGNvdXQgPDwgYm9qZVtpXSA8PCAiICI7CiAgICAgICAgY291dCA8PCBlbmRsOwogICAgfQogICAgZWxzZQogICAgICAgIGNvdXQgPDwgIi0iIDw8IGVuZGw7CiAgICByZXR1cm4gMDsKfQ==