func_code_string: #include <bits/stdc++.h>   using namespace std;   const long double PI = acos(-1.0);   long long n, maxl = 2e5;   long long montonic(vector<long long> &b) {     bool inc = true, dec = true;     long long n = (long long)b.size();     for (long long i = 1; i < n; ++i) {       if (b[i] <= b[i - 1]) {         inc = false;       }       if (b[i] >= b[i - 1]) {         dec = false;       }     }     if (inc == 1) {       return 1;     }     if (dec == 1) {       return 0;     } else       return -1;   }   void f(vector<long long> &a, vector<long long> &b) {     string ans =   ;     while (true) {       if (b == a) {         break;       } else {         vector<long long> c = b;         reverse(c.begin(), c.end());         if (c == a) {           ans +=  R ;           break;         }       }       long long m = montonic(b);       if (m == -1) {         cout <<  IMPOSSIBLE  <<   n ;         return;       } else {         if (m == 0) {           reverse(b.begin(), b.end());           ans +=  R ;         } else {           for (long long i = n - 1; i >= 1; --i) b[i] -= b[i - 1];           ans +=  P ;         }       }     }     if ((long long)ans.size() > maxl) {       cout <<  BIG  <<   n ;       long long cnt = 0;       for (long long i = 0; i < (long long)ans.size(); ++i)         if (ans[i] ==  P ) ++cnt;       cout << cnt <<   n ;     } else {       cout <<  SMALL  <<   n ;       cout << (long long)ans.size() <<   n ;       reverse(ans.begin(), ans.end());       cout << ans <<   n ;     }   }   void solve() {     cin >> n;     if (n == 1) {       long long a;       cin >> a;       long long b;       cin >> b;       if (b % a) {         cout <<  IMPOSSIBLE  <<   n ;         return;       } else {         long long op = b / a - 1;         if (op > maxl) {           cout <<  BIG  <<   n ;           cout << op <<   n ;         } else {           cout <<  SMALL  <<   n ;           cout << op <<   n ;         }       }     } else if (n == 2) {       vector<long long> a(n), b(n);       for (long long i = 0; i < n; ++i) cin >> a[i];       for (long long i = 0; i < n; ++i) cin >> b[i];       vector<long long> c = a;       vector<long long> d = b;       long long popr = 0;       sort(c.begin(), c.end());       sort(d.begin(), d.end());       long long op = 0;       while (d[0] != c[0]) {         if (d[0] == 0) {           cout <<  IMPOSSIBLE  <<   n ;           return;         }         op += d[1] / d[0];         d[1] %= d[0];         swap(d[0], d[1]);       }       if ((d[1] - c[1]) % c[0]) {         cout <<  IMPOSSIBLE  <<   n ;         return;       } else         op += (d[1] - c[1]) / c[0];       if (op > maxl) {         cout <<  BIG  <<   n ;         cout << op <<   n ;       } else         f(a, b);     } else {       vector<long long> a(n), b(n);       for (long long i = 0; i < n; ++i) cin >> a[i];       for (long long i = 0; i < n; ++i) cin >> b[i];       f(a, b);     }   }   signed main() {     ios_base::sync_with_stdio(false);     cin.tie(0);     cout.tie(0);     long long t = 1;     while (t--) {       solve();     }     return 0;   }   