#ABC111D. Robot Arms

Robot Arms

题目描述

Snuke is introducing a robot arm with the following properties to his factory:

  • The robot arm consists of mm sections and m+1m+1 joints. The sections are numbered 11, 22, ..., mm, and the joints are numbered 00, 11, ..., mm. Section ii connects Joint i1i-1 and Joint ii. The length of Section ii is did_i.
  • For each section, its mode can be specified individually. There are four modes: L, R, D and U. The mode of a section decides the direction of that section. If we consider the factory as a coordinate plane, the position of Joint ii will be determined as follows (we denote its coordinates as (xi,yi)(x_i, y_i)):
    • (x0,y0)=(0,0)(x_0, y_0) = (0, 0).
    • If the mode of Section ii is L, (xi,yi)=(xi1di,yi1)(x_{i}, y_{i}) = (x_{i-1} - d_{i}, y_{i-1}).
    • If the mode of Section ii is R, (xi,yi)=(xi1+di,yi1)(x_{i}, y_{i}) = (x_{i-1} + d_{i}, y_{i-1}).
    • If the mode of Section ii is D, (xi,yi)=(xi1,yi1di)(x_{i}, y_{i}) = (x_{i-1}, y_{i-1} - d_{i}).
    • If the mode of Section ii is U, (xi,yi)=(xi1,yi1+di)(x_{i}, y_{i}) = (x_{i-1}, y_{i-1} + d_{i}).

Snuke would like to introduce a robot arm so that the position of Joint mm can be matched with all of the NN points (X1,Y1),(X2,Y2),...,(XN,YN)(X_1, Y_1), (X_2, Y_2), ..., (X_N, Y_N) by properly specifying the modes of the sections. Is this possible? If so, find such a robot arm and how to bring Joint mm to each point (Xj,Yj)(X_j, Y_j).

斯努克正在为他的工厂引进具有以下特性的机器人手臂

  • 机械臂由 mm m+1m+1 组成。部分m+1m+1关节。**个关节。节的编号为 1122 、......、 mm ,关节的编号为 0011 、......、 mm 。节段 ii 连接节段 i1i-1 和节段 ii 。节段 ii 的长度为 did_i
  • 每个节段的模式可单独指定。共有四种模式:"L"、"R"、"D "和 "U"。一个部分的模式决定了该部分的方向。如果我们将工厂视为一个坐标平面,那么接头 ii 的位置将按如下方式确定(我们将其坐标表示为 (xi,yi)(x_i, y_i) ):
    • (x0,y0)=(0,0)(x_0, y_0) = (0, 0) .
      • 如果截面 ii 的模式为 "L",则为 (xi,yi)=(xi1di,yi1)(x_{i}, y_{i}) = (x_{i-1} - d_{i}, y_{i-1})
        • 如果路段 ii 的模式为 "R",则为 (xi,yi)=(xi1+di,yi1)(x_{i}, y_{i}) = (x_{i-1} + d_{i}, y_{i-1})
          • 如果第 ii 节的模式为 "D", (xi,yi)=(xi1,yi1di)(x_{i}, y_{i}) = (x_{i-1}, y_{i-1} - d_{i})
            • 如果章节 ii 的模式为 "U", (xi,yi)=(xi1,yi1+di)(x_{i}, y_{i}) = (x_{i-1}, y_{i-1} + d_{i})

斯努克希望引入一个机械臂,通过正确指定截面的模式,使关节点 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
X1X_1 Y1Y_1
X2X_2 Y2Y_2
::
XNX_N YNY_N

输出格式

如果可以满足条件,则按照以下格式输出。如果无法满足条件,则打印 -1

$m$  
$d_1$ $d_2$ $...$ $d_m$  
$w_1$  
$w_2$  
$:$  
$w_N$  

mmdid_i 是机械臂的配置。每个配置的含义请参见问题说明。这里, 1m401 \leq m \leq 401di10121 \leq d_i \leq 10^{12} 必须成立。另外, mmdid_i 必须都是整数。

wjw_j 是长度为 mm 的字符串,表示将机械臂的关节点 mm 移至点 (Xj,Yj)(X_j, Y_j) 的方法。 wjw_jii -th字符应为字母 "L"、"R"、"D "和 "U "中的一个,代表第 ii 节的模式。

样例 #1

样例输入 #1

3
-1 0
0 3
2 -1

样例输出 #1

2
1 2
RL
UU
DR

样例 #2

样例输入 #2

5
0 0
1 0
2 0
3 0
4 0

样例输出 #2

-1

样例 #3

样例输入 #3

2
1 1
1 1

样例输出 #3

2
1 1
RU
UR

样例 #4

样例输入 #4

3
-7 -3
7 3
-3 -7

样例输出 #4

5
3 1 4 1 5
LRDUL
RDULR
DULRD

说明

  • 在价值 300300 分的测试用例中, 10Xi10-10 \leq X_i \leq 1010Yi10-10 \leq Y_i \leq 10 成立。

数据规模与约定

  • 所有输入值均为整数。
  • 1N10001 \leq N \leq 1000
  • 109Xi109-10^9 \leq X_i \leq 10^9
  • 109Yi109-10^9 \leq Y_i \leq 10^9

样例 11 解释

按照给定的方法,将机械臂的 mm 接头移动到每个 (Xj,Yj)(X_j, Y_j) 接头的位置如下:

  • (X1,Y1)=(1,0)(X_1, Y_1) = (-1, 0) :首先,关节 00 的位置为 (x0,y0)=(0,0)(x_0, y_0) = (0, 0) 。由于截面 11 的模式为 "R",因此关节 11 的位置为 (x1,y1)=(1,0)(x_1, y_1) = (1, 0) 。然后,由于部分 22 的模式为 "L",关节 22 的位置为 (x2,y2)=(1,0)(x_2, y_2) = (-1, 0)
  • (X2,Y2)=(0,3)(X_2, Y_2) = (0, 3) : $(x_0, y_0) = (0, 0), (x_1, y_1) = (0, 1), (x_2, y_2) = (0, 3)$ .
  • (X3,Y3)=(2,1)(X_3, Y_3) = (2, -1) : $(x_0, y_0) = (0, 0), (x_1, y_1) = (0, -1), (x_2, y_2) = (2, -1)$ .

样例 33 解释

(Xj,Yj)(X_j, Y_j) 中可能存在重复点。