#include<algorithm>
#include<cstdio>
#include<queue>
#include<cmath>
#include<cstring>
#include<iostream>
#include<ctime>
using namespace std;
const int maxn=4005;
const int INF=0x3f3f3f3f;
using namespace std;
int n;
int posw[maxn];
int posb[maxn];
int dp[maxn][maxn];
int costw[maxn][maxn];
int costb[maxn][maxn];
int main(){
    scanf("%d",&n);
    char s[5]; int x;
    for(int i=1;i<=(n<<1);i++){
        scanf("%s%d",s,&x);
        if(s[0]=='W') posw[x]=i;
        else posb[x]=i;
    }
    for(int i=0;i<n;i++){
        for(int j=1;j<=i;j++) costw[i][0]+=(posw[j]>posw[i+1]);
        for(int j=1;j<=n;j++) costw[i][j]=costw[i][j-1]+(posb[j]>posw[i+1]);
    }
    for(int j=0;j<n;j++){
        for(int i=1;i<=j;i++) costb[0][j]+=(posb[i]>posb[j+1]);
        for(int i=1;i<=n;i++) costb[i][j]=costb[i-1][j]+(posw[i]>posb[j+1]);
    }
    memset(dp,INF,sizeof(dp));
    dp[0][0]=0;
    for(int i=0;i<=n;i++){
        for(int j=0;j<=n;j++){
            if(i) dp[i][j]=min(dp[i][j],dp[i-1][j]+costw[i-1][j]);
            if(j) dp[i][j]=min(dp[i][j],dp[i][j-1]+costb[i][j-1]);
        }
    }
    printf("%d\n",dp[n][n]);
}