#include <iostream>
#include <algorithm>
#include <vector>
#include <functional>
using namespace std;

int main() {
  vector<int> brojevi;

  brojevi.push_back(1);
  brojevi.push_back(2);
  brojevi.push_back(3);
  brojevi.push_back(4);
  brojevi.push_back(5);
  brojevi.push_back(6);
  brojevi.push_back(7);
  brojevi.push_back(8);
  
  //sortiraj u obrnutom redosledu ceo niz
  sort(brojevi.begin(), brojevi.end(), greater<int>());

  for ( vector<int>::iterator i = brojevi.begin() + 1, j = i + 1; 
       j <  brojevi.end();
       ++i , j+=2) {
     swap(*i, *j);
  }

  //sortiraj u normalnom redosledu drugu polovinu niza
  sort(brojevi.begin() + brojevi.size()/2, brojevi.end());

  copy( brojevi.begin(), brojevi.end(), ostream_iterator< int > ( cout, " " ) );

}