近期发现部分用户尝试利用判题系统的评测信息进行作弊,严重破坏了公平竞争的环境。为维护良好的交流与学习氛围,已对判题机进行了优化,当程序遇到测试点不通过时会立即返回而不评测更多测试点;并且延长提交间隔为60秒。作弊行为不仅违背了学习的初衷,还侵害了其他用户的公平权益,希望所有用户能够遵守规范,专注算法与思维能力的提升。对于恶意多次尝试的用户,我们将保留进一步处置的权利。 —— Administrator

100762 - 接水问题

时间限制

50 毫秒

内存限制

128 MB

通过次数

24

提交次数

47

n个人在一个水龙头前接水,水龙头的流量是固定的:每分钟1升水。换人接水间隔不计的情况下,已知每人需要水的升数,求如何排队使得n个人的平均等待时间最短。

输入

第一行,一个正整数n

接下来n行,每行一个整数a_i,表示需要接水的升数。

对于100%的数据:

1\le n \le 10^3

1\le a_i \le 10^6

输出

第一行,n个整数表示最小平均等待时间下的排队顺序(编号从1开始)。若有两个人接水量相同,则按输入顺序先后接水。

第二行,一个精确到小数点后2位的浮点数,表示最小平均等待时间。

样例

输入

6
5 3 1 9 10 2

输出

3 6 2 1 4 5
6.83

输入

2
3 3

输出

1 2
1.50