#include <bits/stdc++.h>
#pragma GCC optimize("Ofast", "unroll-loops", "no-stack-protector")
using namespace std;
using ll = long long;
using ld = double;
using pii = pair<int, int>;
using uint = unsigned int;
using ull = unsigned long long;
mt19937 rnd(chrono::steady_clock::now().time_since_epoch().count());
default_random_engine generator;
void solve();
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  cout << setprecision(16) << fixed;
  cerr << setprecision(16) << fixed;
  int tests = 1;
  for (int test = 1; test <= tests; ++test) {
    solve();
  }
}
const int INF = 1e9;
struct Point {
  int x, y;
};
void solve() {
  int n;
  cin >> n;
  vector<Point> p(n);
  for (int i = 0; i < n; ++i) {
    string s;
    cin >> s;
    int a = 0, b = 0;
    for (char c : s) {
      a += c == 'B';
      b += c == 'N';
    }
    p[i] = {a, b};
  }
  int minx = INF, maxx = -INF;
  int miny = INF, maxy = -INF;
  int l = INF, r = -INF;
  for (auto [x, y] : p) {
    minx = min(minx, x);
    maxx = max(maxx, x);
    miny = min(miny, y);
    maxy = max(maxy, y);
    l = min(l, x - y);
    r = max(r, x - y);
  }
  int res = 0;
  res = max(res, (maxx - minx + 1) / 2);
  res = max(res, (maxy - miny + 1) / 2);
  res = max(res, (minx - miny) - l);
  res = max(res, r - (minx - miny));
  Point best = {minx + res, miny + res};
  for (int op = 0; op < 2; ++op) {
    int xx = miny + l;
    int yy = miny;
    int cur = 0;
    cur = max(cur, (maxx - xx + 2) / 3);
    cur = max(cur, (maxy - yy + 1) / 2);
    cur = max(cur, (r - l + 1) / 2);
    if (cur < res && cur <= minx - xx) {
      res = cur;
      best = {xx + 2 * res, yy + res};
      if (op) {
        swap(best.x, best.y);
      }
    }
    for (int i = 0; i < n; ++i) {
      swap(p[i].x, p[i].y);
    }
    swap(minx, miny);
    swap(maxx, maxy);
    r *= -1;
    l *= -1;
    swap(l, r);
  }
  cout << res << endl;
  string ans;
  for (int i = 0; i < best.x; ++i) {
    ans += 'B';
  }
  for (int i = 0; i < best.y; ++i) {
    ans += 'N';
  }
  cout << ans << endl;
}
