#include <bits/stdc++.h>
using namespace std;
long long a[201000], b[201000];
vector<char> ansn;
long long countp = 0, countr = 0;
int n;
void pushtoans(long long num, char c) {
  if (c == 'P')
    countp += num;
  else
    countr += num;
  if (countp > 200000) return;
  for (long long i = 1; i <= num; ++i) ansn.push_back(c);
}
void outans() {
  if (countp > 200000) {
    cout << "BIG\n" << countp;
  } else {
    int len = ansn.size();
    cout << "SMALL\n" << len << endl;
    for (int i = len - 1; i >= 0; --i) {
      cout << ansn[i];
    }
  }
}
int checkorder() {
  bool gr = 0, le = 0;
  for (int i = 1; i < n; ++i) {
    if (b[i] > b[i - 1]) {
      gr = 1;
    } else if (b[i] < b[i - 1]) {
      le = 1;
    } else
      return 0;
  }
  if (gr && le) return 0;
  if (gr) return 1;
  return -1;
}
int checksame() {
  bool f1 = 0, f2 = 0;
  for (int i = 0; i < n; ++i) {
    if (a[i] != b[i]) {
      f1 = 1;
    }
    if (a[i] != b[n - i - 1]) {
      f2 = 1;
    }
    if (f1 && f2) return 0;
  }
  if (!f1) return 1;
  return -1;
}
int main() {
  cin >> n;
  for (int i = 0; i < n; ++i) {
    scanf("%lld", &a[i]);
  }
  for (int i = 0; i < n; ++i) {
    scanf("%lld", &b[i]);
  }
  if (n == 1) {
    if (a[0] == b[0]) {
      cout << "SMALL\n0\n";
    } else {
      cout << "IMPOSSIBLE";
    }
  } else if (n == 2) {
    long long x = b[0], y = b[1];
    while (x && y) {
      if (x == a[0] && y >= a[1] && (y - a[1]) % a[0] == 0) {
        pushtoans((y - a[1]) / a[0], 'P');
        break;
      } else if (x == a[1] && y >= a[0] && (y - a[0]) % a[1] == 0) {
        pushtoans((y - a[0]) / a[1], 'P');
        pushtoans(1, 'R');
        break;
      }
      pushtoans(y / x, 'P');
      pushtoans(1, 'R');
      y %= x;
      swap(x, y);
    }
    if (x && y) {
      outans();
    } else {
      cout << "IMPOSSIBLE";
    }
  } else {
    while (1) {
      int re = checksame();
      if (re != 0) {
        if (re == -1) {
          pushtoans(1, 'R');
        }
        break;
      }
      re = checkorder();
      if (re == 0) {
        cout << "IMPOSSIBLE";
        return 0;
      } else if (re == 1) {
        pushtoans(1, 'P');
        for (int i = n - 1; i > 0; --i) {
          b[i] = b[i] - b[i - 1];
        }
      } else {
        pushtoans(1, 'R');
        for (int i = 0, j = n - 1; i < j; ++i, --j) {
          swap(b[i], b[j]);
        }
      }
    }
    outans();
  }
  return 0;
}
