from collections import deque N = int(input()) A = list(map(int,input().split())) que = deque([(0,0,"")]) visited = set((0,0,"")) while True: w,b,s = que.popleft() if len(s)==N: que.append((w,b,s)) break i = len(s) a = A[i] if w&a==0: b1 = b|a s1 = s+"B" if (w,b1,s1) not in visited: visited.add((w,b1,s1)) que.append((w,b1,s1)) if b&a==0: w1 = w|a s1 = s+"W" if (w1,b,s1) not in visited: visited.add((w1,b,s1)) que.append((w1,b,s1)) m = 0 ans = "" while que: w,b,s = que.popleft() if w*b>m: m = w*b ans = s print(m) print(ans)