func_code_string: #include <bits/stdc++.h>   using namespace std;   template <typename T>   inline bool cmax(T &x, T y) {     return x < y ? x = y, 1 : 0;   }   template <typename T>   inline bool cmin(T &x, T y) {     return y < x ? x = y, 1 : 0;   }   const int _ = 2e5 + 55, __ = 5e5 + 55;   int N;   long long a[_], b[_];   char ans[__];   int n, cnt;   bool check() {     for (int i(1), I(N); i <= I; ++i)       if (b[i] <= 0) return 0;     return 1;   }   bool up() {     for (int i(1), I(N - 1); i <= I; ++i)       if (b[i + 1] <= b[i]) return 0;     return 1;   }   bool down() {     for (int i(1), I(N - 1); i <= I; ++i)       if (b[i] <= b[i + 1]) return 0;     return 1;   }   int main() {     ios::sync_with_stdio(0), cin.tie(0);     cin >> N;     for (int i(1), I(N); i <= I; ++i) cin >> a[i];     for (int i(1), I(N); i <= I; ++i) cin >> b[i];     if (N == 1) return printf(a[1] == b[1] ?  SMALL n0 n  :  IMPOSSIBLE n ), 0;     if (N == 2) {       long long x(b[1]), y(b[2]), s(0);       while (x && y) {         if (y == a[1]) swap(x, y);         if (x == a[1] && y >= a[2] && (y - a[2]) % x == 0) {           s += (y - a[2]) / x, y = a[2];           break;         }         if (y == a[2]) swap(x, y);         if (x == a[2] && y >= a[1] && (y - a[1]) % x == 0) {           s += (y - a[1]) / x, y = a[1], swap(x, y);           break;         }         if (x > y) swap(x, y);         s += y / x, y %= x;       }       if (x != a[1] || y != a[2])         return printf( IMPOSSIBLE n ), 0;       else if (s > 2e5)         return printf( BIG n%lld n , s), 0;     }     while (check()) {       int flg = 1;       for (int i(1), I(N); i <= I; ++i)         if (a[i] != b[i]) {           flg = 0;           break;         }       if (!flg) {         flg = 2;         for (int i(1), I(N); i <= I; ++i)           if (a[i] != b[N - i + 1]) {             flg = 0;             break;           }       }       if (flg) {         if (flg == 2 && cnt <= 2e5) ans[++n] =  R ;         if (cnt <= 2e5) {           printf( SMALL n%d n , n);           for (int i(n), I(1); i >= I; --i) putchar(ans[i]);           putchar(  n );         } else           printf( BIG n%d n , cnt);         return 0;       } else if (up()) {         ++cnt;         if (cnt <= 2e5) ans[++n] =  P ;         for (int i(N), I(2); i >= I; --i) b[i] -= b[i - 1];       } else if (down()) {         ++cnt;         if (cnt <= 2e5) ans[++n] =  R , ans[++n] =  P ;         reverse(b + 1, b + N + 1);         for (int i(N), I(2); i >= I; --i) b[i] -= b[i - 1];       } else         break;     }     printf( IMPOSSIBLE n );     return 0;   }   