#AT1044. 机械臂

机械臂

题目描述

Snuke希望在他的工厂引入一种机械臂,具有以下特点:

机械臂由mm个节段和m+1m + 1个关节组成。节段编号为1,2,,m1,2,…, m,关节编号为0,1,,m0,1,…, m。节段ii连接关节i1i-1和关节ii的长度为did_i

每个节段都可以单独指定模式。共有四种模式:LRDU。节段的模式决定了节段的方向。如果将工厂视为笛卡尔坐标平面,则关节ii的位置将按照以下规则确定(我们用(xi,yi)(x_i,y_i)表示其坐标): 。(x0,y0)=(0,0)(x_0,y_0)=(0,0)

。如果节段ii的模式为LL,则(xi,yi)=(xi1di,yi1)(x_i,y_i)=(x_{i-1}- d_i, y_{i-1})

。如果节段ii的模式为RR,则(xi,yi)=(xi1+di,yi1)(x_i,y_i)=(x_{i-1}+ d_i, y_{i-1})

。如果节段ii的模式为DD,则(xi,yi)=(xi1,yi1di)(x_i,y_i)=(x_{i-1}, y_{i-1}-d_i)

。如果节段ii的模式为UU,则(xi,yi)=(xi1,yi1+di)(x_i,y_i)=(x_{i-1}, y_{i-1}+d_i)

Snuke希望通过适当指定节段的模式,使得关节mm的位置能够与所有NN个点(X1,Y1),(X2,Y2)...,(XN,YN)(X_1,Y_1),(X_2,Y_2)...,(X_N,Y_N)匹配这可能吗?

如果可能,请找到这样的机械臂以及将关节mm移动到每个点(Xj,Yj)(X_j,Y_j)的方式。

输入

第一行一个整数NN

接下来每行两个整数,表示表示每个点的坐标X,YX,Y

输出

如果条件可以满足,请按以下格式输出。

md1d2...dmw1w2:wmm d_1 d_2 ...d_m w_1w_2:w_m

mmdid_i是机械臂的配置。详细解释请参阅问题描述。

此处,要求1 < m < 40,1 < did_i< 101210^{12}。而且mmdd;都必须是整数。

ww是一个长度为mm的字符串,表示将机械臂的第mm个关节移动到点(Xj,YjX_j,Y_j)的方法。 wjw_j的第ii个字符应为LRDU中的一个,表示第ii个节段的模式。

如果条件无法满足,则输出-1。

3
-1 0
0 3
2 -1
2
1 2
RL
UU
DR

样例解释

根据给定的方式,将机械臂的第m个关节移动到每个点(XjYjX_j,Y_j)时,关节的位置如下:

对于(X1,Y1X_1,Y_1)=(-1,0),关节0的位置为(x0,y0)=(0,0)x_0,y_0)=(0,0)。由于节段1的模式为R,关节1的位置为(x1,y1)=(1,0x_1,y_1)=(1,0)。然后,节段2的模式为L,关节2的位置为(x2,y2)=(1,0)x_2,y_2)=(-1,0)

对于(X2,Y2)=(0,3X_2,Y_2)=(0,3),有(x0,y0)=(0,0x_0,y_0)=(0,0),(x1,y1)=(0,1x_1,y_1)=(0,1),(x2,y2)=(0,3x_2,y_2)=(0,3)。

对于(X3,Y3)=(2,1X_3,Y_3)=(2,-1),有(x0,y0)=(0,0x_0,y_0)=(0,0),(x1,y1)=(0,1),(x2,y2)=(2,1x_1,y_1)=(0,-1),(x_2,y_2)=(2,-1)。

5
0 0
1 0
2 0
3 0
4 0
-1
2
1 1
1 1
2
1 1
RU
UR

3
-7 -3
7 3
-3 -7

5
3 1 4 1 5
LRDUL
RDULR
DULRD

提示

1N10001 \leq N \leq 1000

109Xi109-10^9 \leq X_i \leq 10^9

109Yi109-10^9 \leq Y_i \leq 10^9