Farmer John 与他奇特的舞蹈牛群正排练新音乐剧《欲望号街牛》。排练中某时,奶牛叠成 $N$ $(1 \le N \le 1,000)$ 组,每组 30 头,一头站在另一头背上(真是神奇的牛)。牧场上除了这些牛堆,另有位于不同位置的 $M$ $(1 \le M \le 1,000)$ 个草堆。下图是可能的布局,C 表示 30 头牛的堆,H 表示草堆:
8 .........
7 ....CH.H. C = stack of 30 cows
6 .........
5 ......... H = haystack
4 ..C.HH...
3 .........
2 .....C.HH
1 .........
123456789作为音乐剧指挥,Farmer John 有四种音调的哨子,分别命令每堆最底下的牛连同其上的所有牛向北、南、东或西移动一个单位。
每当牛堆进入有草堆的格点,最顶上的牛(即使只剩一头)就跳上草堆,其余牛移到草堆所在位置。因此,底下的牛遇到 30 次草堆(可不同,也可重复)后,30 头全落在草堆上,或草堆上的牛背上,原牛堆便耗尽。坚固的每个草堆可以支撑无限头牛。
Farmer John 朝牧场另一侧 Farmer Don 的挤奶设施看去,惊恐地发现巨大奶罐爆炸,牛奶巨浪冲向表演中的牛!草堆上的牛安全,因此他必须把原本简单的舞蹈变成救命技法,尽量救更多牛。
给定浪潮到达前可吹哨次数 $K$ $(1 \le K \le 30)$,以及 $N$ 堆牛、$M$ 个草堆的坐标 $X_{i}$、$Y_{i}$ $(1 \le X_{i} \le 1,000; 1 \le Y_{i} \le 1,000)$(草堆当前均无牛),求最多能救的牛数及对应吹哨序列。以 E、N、W、S 分别表示东、北、西、南;最优序列中取字典序最小的。输入中牛堆与草堆的初始位置不重合。
牛可以移到任意位置,包括牧场外。
输入格式
- 第 1 行:空格分隔的三个整数 $N$、$M$ 和 $K$。
- 第 $2,\ldots,N+1$ 行:第 $i+1$ 行以两个空格分隔的整数 $X_{i}$ 和 $Y_{i}$ 描述一堆 30 头牛的 $X$、$Y$ 坐标。
- 第 $N+2,\ldots,N+M+1$ 行:第 $i+N+1$ 行以两个空格分隔的整数 $X_{i}$ 和 $Y_{i}$ 描述草堆的 $X$、$Y$ 坐标。
输出格式
- 第 1 行:一个整数,最多可救的牛数。
- 第 2 行:$K$ 个字符,救牛数最多且字典序最小的命令序列。
样例
输入格式 1
3 6 3 3 4 6 2 5 7 8 2 9 2 6 4 5 4 6 7 8 7
输出格式 1
6 EEE
说明
吹三次向东的哨子,随后牛奶淹没牧场。每个草堆最终救下一头牛。
题目作者:Thomas Williamson,2004