#include <bits/stdc++.h>
using namespace std;
int cnt[1000];
bool v1[1000][1000];
int tt[1000];
int n;
int t = 0;
set<int>set_;
inline int solve() {
memcpy(tt,cnt,sizeof(cnt));
queue<int>st;
set<int>mp;
for(int i = 0; i < set_.size() ; ++ i) {
int idx = -1;
for(int j = 0; j < n ; ++j) {
if(!cnt[i]&&set_.find(j)!=set_.end()){idx=j;break;}
}
if(~idx){if(mp.find(idx)!=mp.end())for(int i = 0; i < n;++i)if(v1[idx][i])--tt[i];mp.insert(idx);}
else if(t!=1){
printf("Inconsistency found after %d relations." , t);
exit(0);
}
st.push(idx);
}
if(st.size()==n&&t!=1){
printf("Sorted sequence determined after %d relations:" , t);
while(st.size()) {
putchar(st.front()+65);
st.pop();
}
exit(0);
}
return st.size();
}
int main()
{
int m;
cin>>n>>m;
while(m--) {
char a,b;
scanf("%c<%c",&a,&b);
++t;
if(v1[a][b]==false)cnt[b]++;
v1[a][b]=true;
set_.insert(a);
set_.insert(b);
solve();
}
printf("Sorted sequence cannot be determined.");
return 0;
}