Codeforces Round 645 (Div. 2)
F
Tasty Cookie
Codeforces
2700
原题
← E→
翻译中…

Oh, no!

翻译中…

The coronavirus has caught you, and now you're sitting in a dark cellar, with tied legs (but not hands). You have a delicious cookie, a laptop in front of you, and your ideal development environment is open. The coronavirus convinces you to solve the following problem.

翻译中…

You are given two arrays $A$ and $B$ of size $n$. You can do operations of two types with array $A$:

翻译中…
  • Reverse array $A$. That is the array $[A_1,\ A_2,\ \ldots,\ A_n]$ transformes into $[A_n,\ A_{n-1},\ \ldots,\ A_1]$.
  • Replace $A$ with an array of its prefix sums. That is, the array $[A_1,\ A_2,\ \ldots,\ A_n]$ goes to $[A_1,\ (A_1+A_2),\ \ldots,\ (A_1+A_2+\ldots+A_n)]$.
翻译中…

You need to understand if you can get an array $B$ from the array $A$. If it is possible, you will have to restore the order of these operations by minimizing the number of operations of the second type. Fortunately, the coronavirus is good today, so he has allowed you not to restore actions if the minimum number of second type operations is more than $2\cdot 10^5$. But coronavirus resents you, so if you restore the answer, the total number of operations should not exceed $5\cdot 10^5$.

翻译中…

Solve this problem and get the cookie, or the coronavirus will extend the quarantine for five years and make the whole economy collapse!

翻译中…

Input

翻译中…

The first line contains a single integer $n$ ($1\le n \le 2\cdot 10^5$).

翻译中…

The second line contains $n$ integers $A_1, A_2, \ldots, A_n$ ($1 \le A_i \le 10 ^ {12}$).

翻译中…

The third line contains $n$ integers $B_1, B_2, \ldots, B_n$ ($1 \le B_i \le 10 ^ {12}$).

翻译中…

Output

翻译中…

If you cannot get $B$ from the $A$ array, print "IMPOSSIBLE" (without quotes) on a single line.

翻译中…

If the minimum number of operations of the second type exceeds $2\cdot 10^5$, print "BIG" (without quotes). In the second line print the number of operations of the second type, that needs to be applied to get array $B$ from $A$.

翻译中…

Otherwise, in the first line print "SMALL" (without quotes). In the second line print the total number of operations of the first and second types $m \le 5\cdot 10^5$ (it is guaranteed that in this case there is such a sequence of actions). In the third line print a line of length $m$, consisting of characters 'R"and 'P' (without quotes).

翻译中…

The $i$-th character should be 'R', if the $i$-th action is of the first type, and should be 'P', otherwise.

翻译中…

If there are several such sequences, you can print any of them.

翻译中…

You can print each character in the uppercase or in the lowercase.

翻译中…

Note

翻译中…

In the first example, the arrays $A$ and $B$ already equal, so the number of required operations $=0$.

翻译中…

In the second example, we need to replace $A$ with the prefix sums $299999$ times and then reverse the array. Since $299999 \gt 2\cdot 10^5$, there is no need to restore the answer.

翻译中…

In the fourth example, you cannot get $B$ from the $A$.

翻译中…

样例

Input #1
2
5 7
5 7
Output #1
SMALL
0
InputCopy OutputCopy
Input #2
2
1 1
300000 1
Output #2
BIG
299999
InputCopy OutputCopy
Input #3
2
10 1
13 14
Output #3
SMALL
6
RPPPRP
InputCopy OutputCopy
Input #4
3
1 2 1
2 1 2
Output #4
IMPOSSIBLE
InputCopy OutputCopy
题目信息
题号
1358F
时间限制
3 s
内存限制
256 MB
标签
二分
构造
贪心
模拟

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。