# i490
# Ender Rozina Júlia 9.A
# Eötvös József Gimnázium Budapest
# Python 3
#############################################

#Páros páratlan szétszedés
def szetszed(list):
    paros    = []
    paratlan = []
    for i in range(0,len(list)):
       if list[i] % 2 == 0:
            paros.append(list[i])
       else:
            paratlan.append(list[i])
    paros.sort()
    paratlan.sort()
    return paros, paratlan

#Összefésülés
def osszefesul(a,b):
    ahossz = len(a)
    bhossz = len(b)
    hossz = min(ahossz, bhossz)
    list = []
    x=-1                        # Ha valamelyik sor elfogyott, akkor 0-tól kell másolni a másikat
    
    for i in range(0,hossz):    # Összefésülés
        list.append(a[i])
        list.append(b[i])
        x = i
    if ahossz > hossz:          # A hosszabb sor hozzá írása
        for j in range(x+1,ahossz):
            list.append(a[j])
    if bhossz > hossz:
        for j in range(x+1,bhossz):
            list.append(b[j])
    return list

#---főprogram ---------------------
db=int(input())                                                 # bekért darabszám
szamsor=input()                                                 # számok szóközzel elválasztva
szam_str_list=szamsor.split()                                   # lista elemekre bontás
if db < 5 or db > 35 or db!=len(szam_str_list):                 #Bevitt adatok számának ellenőrzése
    print('Hibás input, a számok darabszáma: ',len(szam_str_list))
else:
    szamok=[]                                                   # integer lista
    for i in range(0,len(szam_str_list)):
        szamok.append(int(szam_str_list[i]))
    kor        = 0                              # Körök száma
    kiesokorok = 0                              # Egymás utáni nem kieső körök száma
    sor        = szamok
    while kiesokorok<2:         # Amíg nincs két kör, amikor nem esett ki senki
        kiesok = 1              # Csak hogy belépjen a ciklusba
        while kiesok>0:         # Amíg van kieső játékos
            kor = kor + 1       # Új kört kezdtünk
            kiesok = 0          # Még nincs kieső
            paros, paratlan = szetszed(sor)
            if kor % 2 == 0:
                szamok = osszefesul(paros, paratlan)
            else:
                szamok = osszefesul(paratlan, paros)
            sor = []                        # Új sor a kiesők kihagyásával
            sor.append(szamok[0])           # Az első nem eshet ki
            h = len(szamok)
            for i in range(1, h - 1):
                if szamok[i - 1] < szamok[i] or szamok[i + 1] < szamok[i]:
                    sor.append(szamok[i])
                else:
                    kiesok = 1
                    kiesokorok = 0
            sor.append(szamok[h-1])         # Az utolsó sem eshet ki
        kiesokorok += 1                     # Nem esett ki senki ebben a körben
    print(kor)                              # A körök száma
    for x in sor : print(x, end=" ")        # A győztesek
