#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m;
cin>>n>>m;
vector<int>adj[n+1];//相连节点
vector<int>degree(n+1,0);//度数组
vector<bool>flag(n+1,1);//标记是否被访问过
int num_2=0;//度大于2的节点的个数
for(int i=0;i<m;i++){
int u,v;
cin>>u>>v;
degree[u]++;
degree[v]++;
adj[u].push_back(v);
adj[v].push_back(u);
}
queue<int> t;
int counts=0;
t.push(1);
flag[1] = false;
counts++;
while(!t.empty()){
int c = t.front();
t.pop();
int l = adj[c].size();
for(int i=0;i<l;i++){
if(flag[adj[c][i]]){
flag[adj[c][i]] = false;
t.push(adj[c][i]);
counts++;
}
}
}
if(counts!=n){
cout<<"unknown";//连通的节点数不等于总结点数
return 0;
}
if(n==m){
cout<<"ring";//边的数量等于结点数
return 0;
}
for(int i=1;i<=n;i++){
if(degree[i]>2){
num_2++;//找度大于2的节点个数
}
}
if(num_2 ==0 && m == n-1){
cout<<"line";//没有度大于2的节点,边数等于结点数-1
}else if(num_2 ==1 && m == n-1){
cout<<"star";//度大于2的节点只有一个(只有一个中心),其他的分支均为链状
}else{
cout<<"unknown";
}
}