#include <iostream>
#include <iomanip>
#include <algorithm>
using namespace std;

bool compare(int a, int b) {
    return a > b;
}

int main() {
    int N;
    cin >> N;
    int scores[150];
    int total = 0;

    // 读取成绩并计算总分
    for (int i = 0; i < N; i++) {
        cin >> scores[i];
        total += scores[i];
    }

    // 计算平均分
    double average = static_cast<double>(total) / N;

    // 对成绩进行从高到低排序
    sort(scores, scores + N, compare);

    // 输出总分
    cout << total << endl;
    // 输出平均分,保留两位小数
    cout << fixed << setprecision(2) << average << endl;
    // 输出排序后的成绩
    for (int i = 0; i < N; i++) {
        if (i > 0) {
            cout << " ";
        }
        cout << scores[i];
    }
    cout << endl;

    return 0;
}    
/**************************************************************
	Problem: 1175
	User: fuyijun
	Language: C++
	Result: Accepted
	Time:7 ms
	Memory:2076 kb
****************************************************************/