from collections import deque n, m = map(int, input().split()) edges = [[] for _ in range(n)] deg = [0] * n direct = False E = [] for _ in range(m): u, v = map(int, input().split()) u -= 1 v -= 1 E.append((u, v)) edges[u].append(v) edges[v].append(u) deg[u] += 1 deg[v] += 1 if u == 0 and v == n - 1: direct = True if m % 2 == 1 or direct: print(-1) exit() ans = ["."] * m m //= 2 if deg[0] <= m and deg[-1] <= m: r = m b = m for i, (u, v) in enumerate(E): if u == 0: ans[i] = "R" r -= 1 elif v == n - 1: ans[i] = "B" b -= 1 for i in range(2 * m): if ans[i] != ".": continue if r > 0: ans[i] = "R" r -= 1 else: ans[i] = "B" else: if deg[0] > m: edges = [[] for _ in range(n)] for i, (u, v) in enumerate(E): u, v = n - 1 - v, n - 1 - u E[i] = (u, v) edges[u].append(v) edges[v].append(u) used = [False] * n used[0] = True used[-1] = True st = [0] while st: u = st.pop() for v in edges[u]: if used[v]: continue used[v] = True st.append(v) r = m b = m for i, (u, v) in enumerate(E): if u == 0: ans[i] = "R" r -= 1 elif v == n - 1 and used[u]: ans[i] = "B" b -= 1 for i in range(2 * m): if ans[i] != ".": continue if r > 0: ans[i] = "R" r -= 1 else: ans[i] = "B" print(*ans, sep="")