#include<bits/stdc++.h>
using namespace std;
vector<int> graf[100005];
int ile[100005];
int odw[100005];
int gdzie[100005];
void dfs(int w,int od,int dor)
{
odw[w] = 1;
for(int i : graf[w])
{
if(w == od && i == dor) continue;
if(w == dor && i == od) continue;
if(odw[i] == 0)
{
dfs(i,od,dor);
gdzie[i] = w;
}
}
}
int main()
{
ios_base::sync_with_stdio(0);
int n,m,a,b,maks,ind;
cin >> n >> m;
for(int i = 0;i < m;++i)
{
cin >> a >> b;
graf[a].push_back(b);
graf[b].push_back(a);
ile[a]++;
ile[b]++;
}
for(int i = 1;i <= n;++i)
{
if(ile[i] > 2 && ile[i]%2 == 1)
{
if(ile[i] > maks)
{
maks = ile[i];
ind = i;
}
}
}
bool czy_wszy;
for(int i : graf[ind])
{
memset(odw,sizeof(odw),0);
gdzie[ind] = i;
czy_wszy = false;
dfs(ind,ind,i);
for(int j = 1;j <= n;++j)
{
if(odw[j] == 0)
{
czy_wszy = true;
break;
}
}
if(czy_wszy == false)
{
cout << "TAK" << endl;
for(int k = 1;k <= n;++k)
{
cout << gdzie[k] << endl;
}
return 0;
}
}
cout << "NIE";
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2ZWN0b3I8aW50PiBncmFmWzEwMDAwNV07CmludCBpbGVbMTAwMDA1XTsKaW50IG9kd1sxMDAwMDVdOwppbnQgZ2R6aWVbMTAwMDA1XTsKCnZvaWQgZGZzKGludCB3LGludCBvZCxpbnQgZG9yKQp7CiAgICBvZHdbd10gPSAxOwogICAgZm9yKGludCBpIDogZ3JhZlt3XSkKICAgIHsKICAgICAgICBpZih3ID09IG9kICYmIGkgPT0gZG9yKSBjb250aW51ZTsKICAgICAgICBpZih3ID09IGRvciAmJiBpID09IG9kKSBjb250aW51ZTsKICAgICAgICBpZihvZHdbaV0gPT0gMCkKICAgICAgICB7CiAgICAgICAgICAgIGRmcyhpLG9kLGRvcik7CiAgICAgICAgICAgIGdkemllW2ldID0gdzsKICAgICAgICB9CiAgICB9Cn0KCgppbnQgbWFpbigpCnsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBpbnQgbixtLGEsYixtYWtzLGluZDsKICAgIGNpbiA+PiBuID4+IG07CiAgICBmb3IoaW50IGkgPSAwO2kgPCBtOysraSkKICAgIHsKICAgICAgICBjaW4gPj4gYSA+PiBiOwogICAgICAgIGdyYWZbYV0ucHVzaF9iYWNrKGIpOwogICAgICAgIGdyYWZbYl0ucHVzaF9iYWNrKGEpOwogICAgICAgIGlsZVthXSsrOwogICAgICAgIGlsZVtiXSsrOwogICAgfQogICAgZm9yKGludCBpID0gMTtpIDw9IG47KytpKQogICAgewogICAgICAgIGlmKGlsZVtpXSA+IDIgJiYgaWxlW2ldJTIgPT0gMSkKICAgICAgICB7CiAgICAgICAgICAgIGlmKGlsZVtpXSA+IG1ha3MpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIG1ha3MgPSBpbGVbaV07CiAgICAgICAgICAgICAgICBpbmQgPSBpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgYm9vbCBjenlfd3N6eTsKICAgIGZvcihpbnQgaSA6IGdyYWZbaW5kXSkKICAgIHsKICAgICAgICBtZW1zZXQob2R3LHNpemVvZihvZHcpLDApOwogICAgICAgIGdkemllW2luZF0gPSBpOwogICAgICAgIGN6eV93c3p5ID0gZmFsc2U7CiAgICAgICAgZGZzKGluZCxpbmQsaSk7CiAgICAgICAgZm9yKGludCBqID0gMTtqIDw9IG47KytqKQogICAgICAgIHsKICAgICAgICAgICAgaWYob2R3W2pdID09IDApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGN6eV93c3p5ID0gdHJ1ZTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmKGN6eV93c3p5ID09IGZhbHNlKQogICAgICAgIHsKICAgICAgICAgICAgY291dCA8PCAiVEFLIiA8PCBlbmRsOwogICAgICAgICAgICBmb3IoaW50IGsgPSAxO2sgPD0gbjsrK2spCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGNvdXQgPDwgZ2R6aWVba10gPDwgZW5kbDsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICB9CiAgICB9CiAgICBjb3V0IDw8ICJOSUUiOwoKfQ==