#include<iostream>
#include<cstdio>
using namespace std;
typedef struct Node
{
int index;
int value;
}Node;
int N;
Node data[1001];
int sum=0;
int wait[1001];
void SORT(int s,int e)
{
Node temp;
for(int i=s;i<e;++i) // i为前值
for(int j=i+1;j<=e;++j)
{
if(data[i].value>data[j].value)
{
temp.value=data[i].value;
temp.index=data[i].index;
data[i].value=data[j].value;
data[i].index=data[j].index;
data[j].value=temp.value;
data[j].index=temp.index;
}
else if(data[i].value==data[j].value&&data[i].index>data[j].index) //判断相同情况
{
temp.value=data[i].value;
temp.index=data[i].index;
data[i].value=data[j].value;
data[i].index=data[j].index;
data[j].value=temp.value;
data[j].index=temp.index;
}
}
}
int main()
{
cin>>N;
int temp;
for(int i=1;i<=N;++i)
{
cin>>temp;
data[i].index=i;
data[i].value=temp;
}
SORT(1,N);
data[0].value=0;
for(int i=1;i<=N;++i)
{
sum+=data[i-1].value;
wait[i]=sum;
cout<<data[i].index<<" ";
}
cout<<endl;
sum=0;
for(int i=1;i<=N;++i)
sum+=wait[i];
float r=(float)sum/(float)N;
printf("%.2f\n",r);
return 0;
}