#include <bits/stdc++.h>
using namespace std;
int n;
int a[2005];
priority_queue<int> q1;
priority_queue<int> q2;
int main() {
  int sum = 0, cnt1 = 0, cnt2 = 0, tmp = -1;
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) {
    scanf("%d", &a[i]);
    tmp = max(tmp, a[i]);
    if (a[i] & 1)
      cnt1++;
    else
      cnt2++;
    sum += a[i];
    if (a[i] & 1)
      q1.push(a[i]);
    else
      q2.push(a[i]);
  }
  if (cnt1 == 0 || cnt2 == 0) {
    printf("%d\n", sum - tmp);
    return 0;
  }
  int flag1 = 0, flag2 = 0;
  int x = q1.top(), y = q2.top();
  if (cnt1 > cnt2) {
    q1.pop();
    sum -= x;
    flag1 = 1;
  }
  if (cnt1 < cnt2) {
    q2.pop();
    sum -= y;
    flag2 = 1;
  }
  if (cnt1 == cnt2) {
    printf("0\n");
    return 0;
  }
  while (1) {
    if (flag1) {
      flag1 = 0;
      flag2 = 1;
      if (q2.empty()) break;
      int x = q2.top();
      q2.pop();
      sum -= x;
    } else {
      flag2 = 0;
      flag1 = 1;
      if (q1.empty()) break;
      int x = q1.top();
      q1.pop();
      sum -= x;
    }
  }
  printf("%d\n", sum);
}
