#codefestival2016finalj. [codefestival_2016_final_j]Neue Spiel

[codefestival_2016_final_j]Neue Spiel

Neue Spiel

题目描述

有一个N N 行,N N 列的正方形,共 N × N N\ \times\ N 个空格。

可以从上下左右四个方向推入方块,共 4 × N 4\ \times\ N 个插入口,编号为:

  • 上侧从左到右U1, U2, ..., UN U1,\ U2,\ ...,\ UN
  • 下侧从左到右:D1, D2, ..., DN D1,\ D2,\ ...,\ DN
  • 左侧从上到下: L1, L2, ..., LN L1,\ L2,\ ...,\ LN
  • 右侧从上到下:R1, R2, ..., RN R1,\ R2,\ ...,\ RN

如图是插入口的编号,方块可以推动其他方块,使其往推入方向移动一格,但不能把方块推出正方形外。

你有 N × N 个方块,全部都要推入正方形内。每个插入口的推入次数有一定的限制, UiU_i只能推入UiU_i次, DiD_i只能推入DiD_i次,LiL_i只能推入LiL_i次,RiR_i只能推入RiR_i次。 你需要判断这样推入是否可行,如果可行请输出一种方案

输入格式

第一行一个整数 NN 表示正方形边长,下面四行每行 N N 个数,表示表示 Ui U_i Di D_i Li L_i Ri R_ i

输出格式

如果可以插入 N × N N\ \times\ N 个方块,使得每一格都放置 1 个方块,那么按照应该插入口的号码的顺序,每 1 行输出一个插入口号码。 不可能的情况下,请输出 NONO 代替。 另外,在考虑多个插入顺序的情况下,输出其中的 1 个即可。

样例 #1

样例输入 #1

3
0 0 1
1 1 0
3 0 1
0 1 1

样例输出 #1

L1
L1
L1
L3
D1
R2
U3
R3
D2

样例 #2

样例输入 #2

2
2 0
2 0
0 0
0 0

样例输出 #2

NO

提示

制約

  • 1N300 1≦N≦300
  • Ui,Di,Li,Ri U_i,D_i,L_i,R_i 都是自然数。
  • Ui,Di,Li,Ri U_i,D_i,L_i,R_i 的和与 N× N N \times\ N 相等。

部分点

  • N40 N≦40 2000 2000 得分。
  • 另有 40N30040≦N≦300 的数据 100 100 获得另外 100100 得分。

Sample Explanation 1

样例解释:如下图