#include<bits/stdc++.h>
using namespace std;
bool bfs(int s,const vector<vector<int>> &adj,vector<int>&col){
int n=adj.size();
queue<int> q;
q.push(s);
col[s]=0;
while(!q.empty()){
int f=q.front();
q.pop();
for(int nbg:adj[f]){
if(col[nbg]==-1){
col[nbg]=1-col[f];
q.push(nbg);
}else{
if(col[nbg]==col[f]){
return false;
}
}
}
}
return true;
}
int main(){
int v,e;
cin>>v>>e;
vector<vector<int>> adj(v);
for(int i=0;i<e;i++){
int u,v;
cin>>u>>v;
adj[u].push_back(v);
adj[v].push_back(u);
}
bool flag=true;
vector<int> col(v,-1);
for(int i=0;i<v;i++){
if(col[i]==-1){
if(bfs(i,adj,col)==false){
flag=false;
break;
}
}
}
if(flag==true){
cout<<"bipartite";
}else{
cout<<"not bipartite";
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKYm9vbCBiZnMoaW50IHMsY29uc3QgdmVjdG9yPHZlY3RvcjxpbnQ+PiAmYWRqLHZlY3RvcjxpbnQ+JmNvbCl7CglpbnQgbj1hZGouc2l6ZSgpOwoJcXVldWU8aW50PiBxOwoJcS5wdXNoKHMpOwoJY29sW3NdPTA7Cgl3aGlsZSghcS5lbXB0eSgpKXsKCQlpbnQgZj1xLmZyb250KCk7CgkJcS5wb3AoKTsKCQlmb3IoaW50IG5iZzphZGpbZl0pewoJCQlpZihjb2xbbmJnXT09LTEpewoJCQkgCWNvbFtuYmddPTEtY29sW2ZdOwoJCQkJcS5wdXNoKG5iZyk7CgkJCX1lbHNlewoJCQkJaWYoY29sW25iZ109PWNvbFtmXSl7CgkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJfQoJCQl9CgkJfQoJfQoJcmV0dXJuIHRydWU7Cn0KaW50IG1haW4oKXsKCWludCB2LGU7CgljaW4+PnY+PmU7Cgl2ZWN0b3I8dmVjdG9yPGludD4+IGFkaih2KTsKCWZvcihpbnQgaT0wO2k8ZTtpKyspewoJCWludCB1LHY7CgkJY2luPj51Pj52OwoJCWFkalt1XS5wdXNoX2JhY2sodik7CgkJYWRqW3ZdLnB1c2hfYmFjayh1KTsKCX0KCQoJYm9vbCBmbGFnPXRydWU7Cgl2ZWN0b3I8aW50PiBjb2wodiwtMSk7Cglmb3IoaW50IGk9MDtpPHY7aSsrKXsKCQlpZihjb2xbaV09PS0xKXsKCQkJaWYoYmZzKGksYWRqLGNvbCk9PWZhbHNlKXsKCQkJCWZsYWc9ZmFsc2U7CgkJCQlicmVhazsKCQkJfQoJCX0KCQkKCX0KCWlmKGZsYWc9PXRydWUpewoJCWNvdXQ8PCJiaXBhcnRpdGUiOwoJfWVsc2V7CgkJY291dDw8Im5vdCBiaXBhcnRpdGUiOwoJfQp9