#include<bits/stdc++.h>

using  namespace std;
vector<int> v[2];
int main(){
    int n,x,cur;
    scanf("%d",&n);
    for(int  i=0;i<n;i++){
        scanf("%d",&x);
        v[x%2].push_back(-x);
    }
    for(int i=0;i<2;i++){
        sort(v[i].begin(),v[i].end());
    }
    if(abs(v[0].size()-v[1].size())==1){
        printf("0");
        return 0;
    }
    if(v[0].size()==v[1].size()){
        printf("%d",-max(v[0][v[0].size()-1],v[1][v[1].size()-1]));
        return 0;
    }
    else{
        cur=min(v[0].size(),v[1].size());
        x=0;
        int pos=v[0].size()>v[1].size()?0:1;
        for(int i=cur+1;i<v[pos].size();i++){
            x+=-v[pos][i];
        }
        printf("%d",x);

    }

}
