小圆在过六一儿童节。
小圆现在有 n 个积木,每个积木有一个高度,第 i 个积木的高度为 a_i 。
小圆想把积木排成一排。小圆觉得一排积木的美观度是相邻两个积木之间高度差的绝对值。美观度即 \sum_{i=1}^n|a_{i+1}-a_i|
小圆让你帮他重新把这些积木排成一列,希望能使它们产生的美观度最大。
输入共两行。
第一行一个正整数 n ,表示积木的数量。
第二行 n 个正整数,第 i 个正整数为 a_i ,表示第 i 个积木的高度。
输出共两行。
第一行,一个整数,表示最大的美观度。
第二行, n 个正整数,表示重新排列后的积木高度。如果有多种排列方法,则任意输出一种。
42 2 3 3
32 3 2 3
51 7 6 4 5
147 1 6 4 5
对于 20\% 的数据, n\le 10 ;
对于 50\% 的数据, n\le 1000 ;
对于另外 10\% 的数据, a_i 的取值只有两个不同的值;
对于另外 10\% 的数据, a_i 的取值两两不同;
对于 100\% 的数据, n\le 100000 , a_i\le 10^9 。
如果美观度正确,你将得到这个测试点 60\% 的分数,如果积木的排列正确,你将得到该测试点剩下 40\% 的分数。