#include <bits/stdc++.h>
using namespace std;
long long int com(long long int n, long long int a) {
  long long int result = 1;
  if (n - a < a) a = n - a;
  long long int cnt = 1;
  for (long long int i = n - a + 1; i < n + 1; i++) {
    result *= i;
    result /= cnt;
    cnt++;
  }
  return result;
}
void swap(int *xp, int *yp) {
  int temp = *xp;
  *xp = *yp;
  *yp = temp;
}
void bubbleSort(int arr[], int n) {
  int i, j;
  for (i = 0; i < n - 1; i++)
    for (j = 0; j < n - i - 1; j++)
      if (arr[j] > arr[j + 1]) swap(&arr[j], &arr[j + 1]);
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  ;
  long long int test = 1;
  while (test > 0) {
    long long int n;
    cin >> n;
    vector<int> o, e;
    long long int a[n], j = 0, k = 0;
    for (long long int i = 0; i < n; i++) {
      cin >> a[i];
      if (a[i] % 2 == 0) {
        e.push_back(a[i]);
        j++;
      } else {
        o.push_back(a[i]);
        k++;
      }
    }
    sort(o.begin(), o.end(), greater<int>());
    sort(e.begin(), e.end(), greater<int>());
    long long int mini = min(o.size(), e.size());
    long long int sum1 = 0, sum2 = 0;
    if (abs(k - j) <= 1) {
      cout << "0";
    } else {
      if (j > k) {
        for (long long int i = mini + 1; i < e.size(); i++) {
          sum1 += e[i];
        }
        cout << sum1;
      } else {
        for (long long int i = mini + 1; i < o.size(); i++) {
          sum2 += o[i];
        }
        cout << sum2;
      }
    }
    test--;
  }
}
