#include #include using namespace std; #define LL long long LL N; int M; vector G[500002]; int lr[500002]; int Q[500002], h, t; int in[500002]; LL d[500002]; int main(){ // freopen("input.txt","r",stdin); scanf("%lld %d", &N, &M); for(int i = 1 ; i <= M ; i ++){ char ch; scanf("\n%c", &ch); if(ch == 'L') lr[i] = 0; else lr[i] = 1; int u,v; scanf("%d %d", &u, &v); G[i].push_back(u); G[i].push_back(v); in[u] ++; in[v] ++; } h = t = 0; for(int i = 1 ; i <= M ; i ++) if(in[i] == 0) Q[h++] = i; while(h>t){ int c = Q[t++]; for(int i = 0 ; i < G[c].size() ; i ++){ int p = G[c][i]; in[p] --; if(in[p] == 0) Q[h++] = p; } } for(int i = 0 ; i <= M ; i ++) d[i] = 0; d[1] = N; for(int i = 0 ; i <= M ; i ++){ int q = Q[i]; if(G[q].size() == 0){ if(d[q]%2 == 1) lr[q] = (lr[q]+1)%2; continue; } int u = G[q][0]; int v = G[q][1]; if(d[q]%2 == 0){ d[u] += d[q]/2; d[v] += d[q]/2; }else{ if(lr[q] == 0) d[u] ++; else d[v] ++; d[u] += (d[q]-1)/2; d[v] += (d[q]-1)/2; lr[q] = (lr[q]+1)%2; } } for(int i = 1 ; i <= M ; i ++) printf("%c", lr[i] == 0 ? 'L' : 'R'); printf("\n"); return 0; }