Polycarp has an array a consisting of n integers.

He wants to play a game with this array. The game consists of several moves. On the first move he chooses any element and deletes it (after the first move the array contains n-1 elements). For each of the next moves he chooses any element with the only restriction: its parity should differ from the parity of the element deleted on the previous move. In other words, he alternates parities (even-odd-even-odd-... or odd-even-odd-even-...) of the removed elements. Polycarp stops if he can't make a move.

Formally: 

  * If it is the first move, he chooses any element and deletes it; 
  * If it is the second or any next move: 
    * if the last deleted element was odd, Polycarp chooses any even element and deletes it; 
    * if the last deleted element was even, Polycarp chooses any odd element and deletes it. 
  * If after some move Polycarp cannot make a move, the game ends. 



Polycarp's goal is to minimize the sum of non-deleted elements of the array after end of the game. If Polycarp can delete the whole array, then the sum of non-deleted elements is zero.

Help Polycarp find this value.

Input

The first line of the input contains one integer n (1 ≤ n ≤ 2000) — the number of elements of a.

The second line of the input contains n integers a_1, a_2, ..., a_n (0 ≤ a_i ≤ 10^6), where a_i is the i-th element of a.

Output

Print one integer — the minimum possible sum of non-deleted elements of the array after end of the game.

Examples

Input


5
1 5 7 8 2


Output


0


Input


6
5 1 2 4 6 3


Output


0


Input


2
1000000 1000000


Output


1000000
n=int(input())
a=input().split()
b1=[]
c1=[]
b2=[]
c2=[]
sum1=0
sum2=0
for i in range(n):
    if(int(a[i])%2==0):
        b1.append(int(a[i]))
        b2.append(int(a[i]))
    else:
        c1.append(int(a[i]))
        c2.append(int(a[i]))
    sum1+=int(a[i])    
    sum2+=int(a[i])
b1.sort(reverse=True)
c1.sort(reverse=True)
d=0
while len(b1)>0 and len(c1)>0:
    if d%2==0:
        sum1-=b1[0]
        b1.pop(0)
        d+=1
    else:
        sum1-=c1[0]
        c1.pop(0)
        d+=1
if d%2==0 and len(b1)>0 and len(c1)==0:
    sum1-=b1[0]
    b1.pop(0)
elif d%2!=0 and len(b1)==0 and len(c1)>0:
    sum1-=c1[0]
    c1.pop(0)
b2.sort(reverse=True)
c2.sort(reverse=True)        
e=0        
while len(b2)>0 and len(c2)>0:
    if e%2==0:
        sum2-=c2[0]
        c2.pop(0)
        e+=1
    else:
        sum2-=b2[0]
        b2.pop(0)
        e+=1
if e%2==0 and len(b2)==0 and len(c2)>0:
    sum2-=c2[0]
    c2.pop(0)
elif e%2!=0 and len(b2)>0 and len(c2)==0:
    sum2-=b2[0]
    b2.pop(0)        
print(min(sum1,sum2))