#include <cstdio>
#include <cstring>
#include <algorithm>
#include <vector>
#include <functional>

using namespace std;

int len( int i )
{
  char s[100];
  sprintf(s, "%d", i);
  return strlen(s);
}

bool myLess( int i, int j )
{
  return len(i) < len(j);
}

int main()
{
  int n;
  scanf("%d", &n);

  vector <int> v(n); // можно создать вектор сразу из n элементов
  for (int i = 0; i < n; i++)
    scanf("%d", &v[i]);

  sort(v.begin(), v.end()); // сортирует весь вектор по убыванию
  reverse(v.begin(), v.end()); // переворачивает вектор

  sort(v.begin(), v.end() - 1); // сортирует все элементы, кроме последнего
  reverse(v.begin() + 1, v.end()); // переворачивает все элементы, кроме первого

  sort(v.begin(), v.end(), greater<int>()); // сортирует весь вектор по возрастанию
  sort(v.begin(), v.end(), myLess); // сортирует весь вектор моей функцией myLess, myLess - это "<"

  vector <int>::iterator it = v.begin();
  it += 3;
  return 0;
}