#include using namespace std; using ll = long long; int main(){ ios::sync_with_stdio(false); cin.tie(0); int n; cin >> n; vector a(n); for(auto &&v : a) cin >> v; int U = 4096 - 1; tuple mx = {-1, -1, -1}; for(int S = 0; S < 4096; S++){ int T = S ^ U; bool flg = true; int B0 = 0, B1 = 0; for(auto v : a){ if(((S & v) == v)){ B0 |= v; continue; } if((T & v) == v){ B1 |= v; continue; } flg = false; break; } if(!flg) continue; mx = max(mx, make_tuple(B0 * B1, B0, B1)); } auto [M, S0, S1] = mx; cout << M << '\n'; for(int i = 0; i < n; i++){ cout << ((S0 & a[i]) == a[i] ? 'B' : 'W'); } cout << '\n'; }