#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]<<' ';
}