const ELEMENTS = [
  'Hydrogen',
  'Helium',
  'Lithium',
  'Beryllium',
  'Boron',
  'Carbon',
  'Nitrogen',
  'Oxygen',
  'Fluorine',
  'Neon',
  'Sodium',
  'Magnesium',
  'Aluminum',
  'Silicon',
  'Phosphorus',
  'Sulfur',
  'Chlorine',
  'Argon',
  'Potassium',
  'Calcium',
  'Scandium',
  'Titanium',
  'Vanadium',
  'Chromium',
  'Manganese',
  'Iron',
  'Cobalt',
  'Nickel',
  'Copper',
  'Zinc',
  'Gallium',
  'Germanium',
  'Arsenic',
  'Selenium',
  'Bromine',
  'Krypton',
  'Rubidium',
  'Strontium',
  'Yttrium',
  'Zirconium',
  'Niobium',
  'Molybdenum',
  'Technetium',
  'Ruthenium',
  'Rhodium',
  'Palladium',
  'Silver',
  'Cadmium',
  'Indium',
  'Tin',
  'Antimony',
  'Tellurium',
  'Iodine',
  'Xenon',
  'Cesium',
  'Barium',
  'Lanthanum',
  'Cerium',
  'Praseodymium',
  'Neodymium',
  'Promethium',
  'Samarium',
  'Europium',
  'Gadolinium',
  'Terbium',
  'Dysprosium',
  'Holmium',
  'Erbium',
  'Thulium',
  'Ytterbium',
  'Lutetium',
  'Hafnium',
  'Tantalum',
  'Tungsten',
  'Rhenium',
  'Osmium',
  'Iridium',
  'Platinum',
  'Gold',
  'Mercury',
  'Thallium',
  'Lead',
  'Bismuth',
  'Polonium',
  'Astatine',
  'Radon',
  'Francium',
  'Radium',
  'Actinium',
  'Thorium',
  'Protactinium',
  'Uranium',
  'Neptunium',
  'Plutonium',
  'Americium',
  'Curium',
  'Berkelium',
  'Californium',
  'Einsteinium',
  'Fermium',
  'Mendelevium',
  'Nobelium',
  'Lawrencium',
  'Rutherfordium',
  'Dubnium',
  'Seaborgium',
  'Bohrium',
  'Hassium',
  'Meitnerium'
]

var quicksort = function () {
  var sort = function(items) {
    if (items.length <= 1) return items;
    var pivot = items.shift(), current, left = [], right = [];
    while(items.length > 0) {
      current = items.shift();
      current < pivot ? left.push(current) : right.push(current);
    }
    return sort(left).concat(pivot).concat(sort(right));
  };

  return sort(Array.apply(this, arguments));
};

quicksort(ELEMENTS);
