#include<bits/stdc++.h>
using namespace std;
int n,m;
const int N=27;
int d[N],a[N],t,ans[N],d2[N];
vector<int> A[N];
int topo(){
memset(a,0,sizeof(a));
memset(ans,0,sizeof(ans));
int yuyu=0;
queue<int> q;
int pui=0;
for(int i=1;i<=n;i++){
if(!d[i]){q.push(i);pui++;if(pui>1)return 3;yuyu++;}
}
if(q.empty())return 1;
t=0;
while(!q.empty()){
int l=q.front();
ans[l]=0;
a[++t]=l;
q.pop();
for(int i=0;i<A[l].size();i++){
int u=A[l][i];
if(!--d[u]){
q.push(u);
ans[l]++;
if(ans[l]>1)return 3;
yuyu++;
}
}
}
if(yuyu<n)return 1;
return 2;
}
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++){
char aa,b,c;
cin>>aa>>b>>c;
A[aa-'A'+1].push_back(c-'A'+1);
d[c-'A'+1]++;
d2[c-'A'+1]++;
t=0;
int pd=topo();
if(pd==1){
cout<<"Inconsistency found after "<<i<<" relations.";
return 0;
}
else if(pd==2){
cout<<"Sorted sequence determined after "<<i<<" relations: ";
for(int i=1;i<=t;i++){
int ppp=a[i]+65-1;
cout<<char(ppp);
}
cout<<".";
return 0;
}
for(int j=1;j<=n;j++){
d[j]=d2[j];
}
}
cout<<"Sorted sequence cannot be determined.";
return 0;
}