← Home
#include<bits/stdc++.h>
#define ll long long
#define No cout<<"IMPOSSIBLE\n",exit(0);
using namespace std;
const ll _=1e6+5;
struct o{ll l,r;o(){l=_;r=-1;}inline void p(ll x){l=min(l,x);r=max(r,x);}};
ll n,m,t,x,y,c[_],T,s[_],i;string str;o a[_],b[_];
void p(ll k){
	ll x=++t;
	if(~a[x].r)p(a[x].r);
	s[++T]=x;
	if(t>=b[x].l)No;
	if(t<k||~b[x].r)p(max(k,b[x].r));
}
int main(){
	ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	cin>>n>>m;
	while(m--){
		cin>>x>>y>>str;
		if(y<=x)No;
		(str[0]=='L'?a:b)[x].p(y);
	}
	p(n);
	for(i=1;i<=n;i++)cout<<s[i]<<' ';
}