#include <bits/stdc++.h>
using namespace std;
int calc(int n, int X, int x) {
  if (!n) return X == 1 && !x ? 0 : 1000111222;
  if (x == 1) return X == n ? max(0, n - 2) : 1000111222;
  if (!x) return 1000111222;
  return calc(n - X / x, x, X % x) + X / x - 1;
}
void trace(int n, int X, int x, int &z) {
  if (!n) return;
  if (x == 1) {
    z = 0;
    printf("T");
    if (n > 1) {
      z = 1;
      for (int i = 0; i < n - 1; i++) printf("B");
    }
  } else {
    int zz;
    trace(n - X / x, x, X % x, zz);
    z = 1 - zz;
    for (int i = 0; i < X / x; i++) printf((z ? "B" : "T"));
  }
}
int main() {
  int n, r, ans = 1000111222, y;
  cin >> n >> r;
  if (n == 1 && r == 1) {
    cout << 0 << endl << "T" << endl;
    return 0;
  }
  for (int i = 1; i <= r - 1; i++) {
    int x = calc(n, r, i);
    if (x < ans) ans = x, y = i;
  }
  if (ans == 1000111222)
    puts("IMPOSSIBLE");
  else {
    cout << ans << endl;
    int z;
    trace(n, r, y, z);
  }
}
