﻿using System;
using System.Collections.Generic;

/*
 * Вася не любит английский язык, но каждый раз старается получить хотя бы четверку за четверть, чтобы оставаться ударником. В текущей четверти Вася заметил следующую закономерность: по нечетным дням месяца он получал тройки, а по четным – четверки. Так же он помнит, в какие дни он получал эти оценки. Поэтому он выписал на бумажке все эти дни для того, чтобы оценить, сколько у него троек и сколько четверок. Помогите Васе это сделать, расположив четные и нечетные числа в разных строчках. Вася может рассчитывать на оценку 4, если четверок не меньше, чем троек.
 *
 * Входные данные
 *
 * В первой строке входного файла INPUT.TXT записано единственное число N – количество элементов целочисленного массива (1 ≤ N ≤ 100). Вторая строка содержит N чисел, представляющих заданный массив. Каждый элемент массива – натуральное число от 1 до 31. Все элементы массива разделены пробелом.
 *
 * Выходные данные
 *
 * В первую строку выходного файла OUTPUT.TXT нужно вывести числа, которые соответствуют дням месяцев, в которые Вася получил тройки, а во второй строке соответственно расположить числа месяца, в которые Вася получил четверки. В третьей строке нужно вывести «YES», если Вася может рассчитывать на четверку и «NO» в противном случае. В каждой строчке числа следует выводить в том же порядке, в котором они идут во входных данных. При выводе, числа отделяются пробелом.
 */

namespace task_61
{
    class Program
    {
        static void Main(string[] args)
        {
            int length = Convert.ToInt32(Console.ReadLine());
            List<int> even = new List<int>();
            List<int> odd = new List<int>();
            string[] numbers = Console.ReadLine().Split(' ');
            for (int i = 0; i < length; i++)
            {
                int number = Convert.ToInt32(numbers[i]);
                if (number % 2 == 0)
                {
                    even.Add(number);
                }
                else
                {
                    odd.Add(number);
                }
            }
            foreach (int number in odd)
            {
                Console.Write("{0} ", number);
            }
            Console.WriteLine();
            foreach (int number in even)
            {
                Console.Write("{0} ", number);
            }
            Console.WriteLine();
            Console.WriteLine(even.Count >= odd.Count ? "YES" : "NO");
        }
    }
}
