#2432. 牧场危机

牧场危机

题目描述

约翰和他的奶牛组建了一只乐队"后街奶牛",现在他牛正在牧场里排练.奶牛牛分成一堆一堆,共N(1\red{N(1≤}N\red{N≤}1000)\red{1000)}堆.每一堆里,30\red{30}只奶牛一只踩在另一只的背上,叠成一座牛塔.牧场里还有M(1\red{M(1≤}M\red{M≤}1000)\red{1000)}个高高的草垛.

作为出色的指挥家,约翰可以通过口哨指挥奶牛牛移动.他的口哨有四个音,分别能使所有的牛塔向东南西北四个方向移动一格.

每一次,当一个牛塔到达了一个草垛所在的格子,牛塔最上方的奶牛就会跳到草垛上,而且不再下来,而其他奶牛仍然呈塔状站在草垛所在的格子里.当牛塔只剩一只奶牛时,这只奶牛也会跳到草垛上.突然,约翰大惊失色:原来邻家的奶缸爆炸了!

滚滚而下的牛奶正朝着约翰的牧场冲来,不久就要将牧场淹没.约翰必须马上行动,用口哨声挽救奶牛牛的生命.他要指挥奶牛尽量多地跳上草垛,草垛上的奶牛将不会被淹死.

约翰还有K\red{K}次吹口哨的机会.那他最多还能救多少奶牛呢?

请计算最多能挽救的奶牛数,以及达到这个数目约翰需要吹的口哨调子序列.序列用E\red{E,}W\red{W,}S\red{S,}N\red{N}表示东西南北.如果有多种序列能达到

要求,输出作为字符串最小的.

输入格式

1\red{1}

输入三个整数N\red{N,}M\red{M,}K\red{K,}之后N\red{N}行每行输入一对整数(Xi\red{(Xi,}Yi)\red{Yi)}表示一座牛塔所在的位置, 1<=K<=30\red{1<=K<=30}

之后M\red{M}

每行输入一对整数(Xi\red{(Xi,}Yi)\red{Yi)}表示一个草垛所在的位置.

1\red{1≤}Xi\red{Xi≤}1000\red{1000};1\red{1≤}Yi\red{Yi≤}1000.\red{1000.}

输出格式

1\red{1}行输出最多能挽救的奶牛数.

2\red{2}行输出口哨调子序列.

样例

输入样例

3 6 3
3 4
6 2
5 7
8 2
9 2
6 4
5 4
6 7
8 7

输出样例

6
EEE

提示

用"东方"哨子吹三次,这时牛奶就会泛滥该区域。每个干草堆最终拯救了一头牛。