#include <bits/stdc++.h>
using namespace std;
const int inf = 10000000;
int sum, ans, ans2, n, r;
int work(int x, int y, int &sum) {
  int res = 0, step;
  if (!x) {
    if (y == 1) return 0;
    return inf;
  }
  step = y / x;
  res = work(y % x, x, sum) + step - 1;
  sum += step;
  return res;
}
int work1(int x, int y) {
  if (x == 0 && y == 1) return 0;
  int zt = work1(y % x, x) ^ 1;
  if (y % x) {
    for (int i = 1; i <= y / x; i++)
      if (zt == 0)
        printf("B");
      else
        printf("T");
  } else {
    printf("T");
    for (int i = 1; i < y / x; i++)
      if (zt == 0)
        printf("B");
      else
        printf("T");
  }
  return zt;
}
int work2(int x, int y) {
  if (x == 0 && y == 1) return 0;
  int zt = work2(y % x, x) ^ 1;
  if (y % x) {
    for (int i = 1; i <= y / x; i++)
      if (zt == 0)
        printf("T");
      else
        printf("B");
  } else {
    printf("T");
    for (int i = 1; i < y / x; i++)
      if (zt == 0)
        printf("T");
      else
        printf("B");
  }
  return zt;
}
int main() {
  ans = inf;
  scanf("%d%d", &n, &r);
  if (n == 1 && r == 1) {
    printf("0\nT\n");
    return 0;
  }
  for (int i = 1; i < r; i++) {
    sum = 0;
    int res = work(i, r, sum);
    if (sum != n) continue;
    if (res < ans) ans = res, ans2 = i;
  }
  if (ans == inf)
    printf("IMPOSSIBLE\n");
  else {
    printf("%d\n", ans - 1);
    work2(ans2, r);
  }
}
