#include <bits/stdc++.h>
using namespace std;
double fib(double x, double z);
string bn(long long x);
string kok(long long x);
long long kok(string x);
long long bn(string x);
long double po(long double x, long double y);
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  long long a, x, i = 0, z;
  vector<long long> y;
  cin >> x;
  for (i = 0; i < x; i++) {
    cin >> a;
    y.push_back(a);
  }
  sort(y.begin(), y.end());
  if (x % 2 == 1) x++;
  cout << y[(x / 2) - 1] << endl;
  return 0;
}
double fib(double x, double z) {
  int i = 0;
  double f = x, r = x, t;
  for (i = 2; i < z; i++) {
    t = f;
    f += r;
    r = t;
  }
  return f;
}
string bn(long long x) {
  string z;
  while (1) {
    if (x % 2 == 0)
      z += '0';
    else
      z += '1';
    x /= 2;
    if (x == 0) break;
  }
  reverse(z.begin(), z.end());
  return z;
}
long long bn(string x) {
  long long i;
  unsigned long long z = 1, a = 0;
  for (i = x.size() - 1; i >= 0; i--) {
    if (x[i] == '1') a += z;
    z *= 2;
  }
  return a;
}
long long kok(string x) {
  long long z = 0, i;
  for (i = 0; i < x.size(); i++) {
    z *= 10;
    z += (x[i] - '0');
  }
  return z;
}
string kok(long long x) {
  string z;
  while (x != 0) {
    z += (x % 10 + '0');
    x /= 10;
  }
  reverse(z.begin(), z.end());
  return z;
}
long long po(long long x, long long y) {
  long long z = 1;
  long long d, q;
  y = x;
  for (int i = 0; i < 30; i++) {
    q = (1 << i);
    if ((d & q) != 0) {
      z *= y;
    }
    y *= y;
  }
  return z;
}
