E. 神之真言
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

Belmaxi渴望长生不老,他翻遍古籍,花费数年时间走遍天下,寻访仙山,终于在海外的一座荒山上发现了一个神秘的洞穴。洞穴里有一卷古老的经卷和一颗闪烁着微光的种子。他展开经卷,其上写着这样一段话。

"凡人啊,吾乃创世之神,盘古,汝既寻至此,便与吾有缘。"

"此乃仙种,落地生根,吾传汝两句真言,可令仙种成长。"

"首句真言:圆"

"次句真言:劈"

"......"

阅读完经卷,Belmaxi恍然大悟。

首先,他需要耗费$$$k$$$年修为,将仙种种下,此时仙种将会立刻变成一株高$$$1$$$尺的仙树。

随后,在任意时刻,他可以耗费$$$1$$$年修为,喊出"圆"字真言,可以使得树长高$$$1$$$倍。

或者,当树高为偶数时,他可以耗费$$$k-1$$$年修为,喊出"劈"字真言,树会长高$$$1$$$尺。

盘古大神在经卷的末尾明示:仙树在高度不低于$$$L$$$尺,不超过$$$R$$$尺,且耗费修为年数正好能够被$$$k$$$整除时,会长出令人长生不老的仙果。

Belmaxi不够聪明,他想要问问屏幕前的你,他该如何操作,才能获得仙果?

(提示:$$$n$$$被$$$k$$$整除是指$$$n \div k$$$的余数是$$$0$$$ )

Input

第一行给出一个正整数T,表示样例的个数。$$$(1\le T\le 10^5)$$$

对于每个样例,给出一行,每行给出三个正整数数$$$L,R,k,~(2 \le L\le R\le 5*10^{18},1\le k\le 50)$$$

Output

对于每个样例,输出格式如下:

如果没有办法使得Belmaxi获得仙果,直接输出-1。

否则,你需要输出两行,第一行为一个正整数$$$n$$$,表示你的操作次数。第二行输出一个长度为n的字符串表示你的操作顺序,使得在你的操作之后,仙树符合条件长出仙果。(字符O代表"圆"字真言,P代表"劈"字真言)。

(注意:$$$n$$$不能超过$$$200$$$,可以证明操作次数不可能超过$$$200$$$次,输出大于$$$200$$$的$$$n$$$一律视为错误答案)

(注意:如果有多种操作方式,输出任意一种即可)

Example
Input
3
3 6 2
8 12 3
9 12 5
Output
2
OP
3
OOO
-1
Note

对于"3 6 2"的样例给出以下解释:

初始时树高1尺,耗费修为2年;

使用一次"圆"字真言后,树高2尺,耗费修为3年;

使用一次"劈"字真言后,树高3尺,耗费修为4年;

此时树高在范围内且耗费修为年数被k整除。

————————————————————————

对于"8 12 3"的样例给出以下解释:

初始时树高1尺,耗费修为3年;

使用一次"圆"字真言后,树高2尺,耗费修为4年;

使用一次"圆"字真言后,树高4尺,耗费修为5年;

使用一次"圆"字真言后,树高8尺,耗费修为6年;

此时树高在范围内且耗费修为年数被k整除。