#include <bits/stdc++.h>
using namespace std;
int ans[1000006];
int n, r;
int dfs(int v1, int v2) {
  int t, cnt, p;
  p = 0;
  cnt = 0;
  while (v1 != 0 && v1 != 1) {
    cnt += v2 / v1;
    p += v2 / v1;
    p--;
    t = v2 % v1;
    v2 = v1;
    v1 = t;
  }
  if (v1 == 0) return 1000000000;
  cnt += v2 / v1;
  p += v2 / v1;
  p -= 2;
  if (cnt != n) return 1000000000;
  return p;
}
char s[2] = {'T', 'B'};
int main() {
  int i, ansa, t, v, now;
  int v1, v2;
  while (scanf("%d%d", &n, &r) != EOF) {
    ansa = 1000000000;
    for (i = r - 1; i >= 1; --i) {
      t = dfs(i, r);
      if (t < ansa) {
        v = i;
        ansa = t;
      }
    }
    if (n == 1 && r == 1) {
      printf("0\n");
      printf("T");
      return 0;
    }
    if (ansa == 1000000000) {
      printf("IMPOSSIBLE\n");
      return 0;
    }
    printf("%d\n", ansa);
    v1 = v;
    v2 = r;
    i = 0;
    while (!(v1 == 0 && v2 == 1)) {
      v2 -= v1;
      if (v2 <= v1) {
        ans[i] = 0;
        t = v2;
        v2 = v1;
        v1 = t;
      } else {
        ans[i] = 1;
      }
      ++i;
    }
    now = 1;
    ans[n - 1] = 0;
    for (i = n - 1; i >= 0; --i) {
      if (ans[i] == 0) {
        now ^= 1;
      }
      printf("%c", s[now]);
    }
    printf("\n");
  }
}
