#include <iostream>
#include <cstdio>

using namespace std;

int main() {
    int n;  // 数字的个数
    cin >> n;
    int a[1000];  // 用a数组存数字,简单好记
    
    // 读入n个数字
    for (int i = 0; i < n; i++) {
        cin >> a[i];
    }
    
    // 冒泡排序(从小到大),用最基础的交换
    for (int i = 0; i < n-1; i++) {
        for (int j = 0; j < n-1-i; j++) {
            if (a[j] > a[j+1]) {  // 前一个比后一个大,就交换
                int t = a[j];     // t当临时变量,存一下a[j]
                a[j] = a[j+1];
                a[j+1] = t;
            }
        }
    }
    
    // 算中位数
    double m;  // m存中位数
    if (n % 2 == 1) {  // 奇数个
        m = a[n/2];
    } else {  // 偶数个,中间两个的平均
        m = (a[n/2 - 1] + a[n/2]) / 2.0;
    }
    
    // 输出保留1位小数
    printf("%.1f\n", m);
    
    return 0;
}
/**************************************************************
	Problem: 1233
	User: cyp
	Language: C++
	Result: Accepted
	Time:8 ms
	Memory:2072 kb
****************************************************************/