#include <bits/stdc++.h>
using namespace std;
const long long MAXN = 1e6 + 100;
struct point {
  long long x, y;
};
struct square {
  point p1, p2;
};
long long N;
vector<point> vect;
long long res1, res2;
bool f(long long mid) {
  vector<square> vvv;
  for (long long i = 0; i < N; i++) {
    vvv.push_back({{vect[i].x - mid, vect[i].y - mid},
                   {vect[i].x + mid, vect[i].y + mid}});
  }
  square temp = {{0, 0}, {MAXN, MAXN}};
  bool flag = true;
  for (auto sq : vvv) {
    long long me1 = min(sq.p2.x, temp.p2.x);
    long long ma1 = max(sq.p1.x, temp.p1.x);
    long long me2 = min(sq.p2.y, temp.p2.y);
    long long ma2 = max(sq.p1.y, temp.p1.y);
    if (ma1 <= me1 && ma2 <= me2) {
      temp = {{ma1, ma2}, {me1, me2}};
    } else {
      flag = false;
      break;
    }
  }
  if (!flag) {
    return false;
  }
  long long aa = temp.p1.x - temp.p2.y, bb = temp.p2.x - temp.p1.y;
  for (auto sq : vvv) {
    long long ta = (sq.p2.x - mid) - sq.p2.y, tb = sq.p2.x - (sq.p2.y - mid);
    long long me = min(bb, tb);
    long long ma = max(aa, ta);
    if (ma <= me) {
      aa = ma;
      bb = me;
    } else {
      flag = false;
      break;
    }
  }
  if (!flag) {
    return false;
  }
  if (temp.p1.x <= temp.p2.y + aa && temp.p2.y + aa <= temp.p2.x) {
    res1 = temp.p2.y + aa;
    res2 = temp.p2.y;
  } else {
    res1 = temp.p2.x;
    res2 = temp.p2.x - aa;
  }
  return true;
}
int32_t main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cin >> N;
  for (long long i = 0; i < N; i++) {
    string cad;
    cin >> cad;
    long long cb = 0, cn = 0;
    for (auto x : cad) {
      if (x == 'B')
        cb++;
      else
        cn++;
    }
    vect.push_back({cb, cn});
  }
  long long a = 0, b = MAXN, res = -1;
  while (a <= b) {
    long long mid = (a + b) / 2;
    if (f(mid)) {
      res = mid;
      b = mid - 1;
    } else {
      a = mid + 1;
    }
  }
  cout << res << '\n';
  string ans;
  for (long long i = 0; i < res1; i++) ans += 'B';
  for (long long i = 0; i < res2; i++) ans += 'N';
  false;
  false;
  cout << ans << '\n';
  return 0;
}
