#include <bits/stdc++.h>
using namespace std;
long long int max3(long long int a, long long int b, long long int c) {
  return (max(a, max(b, c)));
}
long long int max4(long long int a, long long int b, long long int c,
                   long long int d) {
  return (max(a, max(b, max(c, d))));
}
long long int max5(long long int a, long long int b, long long int c,
                   long long int d, long long int e) {
  return (max(a, max(b, max(c, max(d, e)))));
}
long long int min3(long long int a, long long int b, long long int c) {
  return (min(a, min(b, c)));
}
map<long long int, long long int> freq_char_s(string string, long long int m) {
  map<long long int, long long int> freq;
  for (long long int i = 0; i < m; i++) {
    freq[string[i] - 97] += 1;
  }
  return freq;
}
long long int gcd(long long int a, long long int b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
long long int fact(long long int n, long long int r) {
  if (n == r) return 1;
  if (r == 1) return n;
  return fact(n - 1, r) + fact(n - 1, r - 1);
}
bool isVowel(char c) {
  if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u') {
    return true;
  }
  return false;
}
bool LexCompare(const string &a, const string &b) {
  return lexicographical_compare(a.begin(), a.end(), b.begin(), b.end());
}
bool Lex(const long long int a, const long long int b) {
  if ((a + b) % 2 == 1 && a < b) {
    return true;
  }
  return false;
}
vector<bool> sieve(long long int n) {
  vector<bool> prime(n + 1, true);
  prime[0] = prime[1] = false;
  for (long long int i = 2; i <= n; i++) {
    if (prime[i]) {
      for (long long int j = 2 * i; j <= n; j += i) {
        prime[j] = false;
      }
    }
  }
  return prime;
}
long long int fast_power(long long int base, long long int power) {
  long long int result = 1;
  while (power > 0) {
    if (power % 2) {
      result = (result * base) % int(1e9 + 7);
      ;
    }
    base = (base * base) % int(1e9 + 7);
    ;
    power >>= 1;
  }
  return result;
}
bool sortbysec(const pair<long long int, long long int> a,
               const pair<long long int, long long int> b) {
  return (a.second > b.second) ? true : false;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  long long int n;
  cin >> n;
  vector<long long int> v(n);
  for (long long int i = 0; i < n; i++) cin >> v[i];
  long long int num = n / 2;
  if (n % 2 == 0) num--;
  sort(v.begin(), v.end());
  cout << num;
  cout << endl;
  long long int p = 0;
  vector<long long int> res(n);
  for (long long int i = 1; i < n && num > 0; i += 2) {
    res[i] = v[p];
    num--;
    p++;
  }
  for (long long int i = 0; i < n; i += 2) {
    res[i] = v[p];
    p++;
  }
  if (n % 2 == 0) res[n - 1] = v[n - 1];
  for (long long int i = 0; i < n; i++) cout << res[i] << " ";
}
