New Year Present

Description

The New Year is coming! That's why many people today are busy preparing New Year presents. Vasily the Programmer is no exception.

Vasily knows that the best present is (no, it's not a contest) money. He's putn empty wallets from left to right in a row and decided how much money to put in what wallet. Vasily decided to putai coins to thei-th wallet from the left.

Vasily is a very busy man, so the money are sorted into the bags by his robot. Initially, the robot stands by the leftmost wallet in the row. The robot can follow instructions of three types: go to the wallet that is to the left of the current one (if such wallet exists), go to the wallet that is to the right of the current one (if such wallet exists), put a coin to the current wallet. Due to some technical malfunctions the robot cannot follow two "put a coin" instructions in a row.

Vasily doesn't want to wait for long, so he wants to write a program for the robot that contains at most106 operations (not necessarily minimum in length) the robot can use to put coins into the wallets. Help him.

Input

The first line contains integer n(2 ≤ n ≤ 300) — the number of wallets. The next line containsn integers a1, a2, ..., an(0 ≤ ai ≤ 300).

It is guaranteed that at least one ai is positive.

Output

Print the sequence that consists of k(1 ≤ k ≤ 106) characters, each of them equals: "L", "R" or "P". Each character of the sequence is an instruction to the robot. Character "L" orders to move to the left, character "R" orders to move to the right, character "P" orders the robot to put a coin in the wallet. The robot is not allowed to go beyond the wallet line. In other words, you cannot give instructions "L" if the robot is at wallet 1, or "R" at walletn.

As a result of the performed operations, the i-th wallet from the left must contain exactlyai coins. If there are multiple answers, you can print any of them.

Sample Input

Input
2
1 2
Output
PRPLRP
Input
4
0 2 0 2
Output
RPRRPLLPLRRRP

#include<stdio.h>
#define K 1111111
char num[K];

int main(){
	int n,i,t,coin[310],flag,count,temp;
	while(~scanf("%d",&n)){
		t=0;
		count=0;
		for(i=0;i<n;i++){
			scanf("%d",&temp);
			count+=temp;
			coin[i]=temp;
		}
		for(i=0;i<n;){

			if(i==n-1){
				flag=0;
			}
			else if(i==0){
				flag=1;
			}
			if(coin[i]>0){
				coin[i]--;
				num[t]='P';
				t++;
				count--;
				if(count==0){
					break;
				}
			}
			if(flag==1){
				i++;
			}
			else{
				i--;
			}
			if(flag==1){
				num[t]='R';
				t++;
			}
			else{
				num[t]='L';
				t++;
			}
		}
		printf("%s\n",num);
	}
	return 0;
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值