#include <iostream>
#include <stdio.h>
#include <string.h>
#define MAX_N 2005

using namespace std;

int n;
int pw[MAX_N];
int pb[MAX_N];
int dp[MAX_N][MAX_N];
int costw[MAX_N][MAX_N];
int costb[MAX_N][MAX_N];

void read()
{
    scanf("%d",&n);
    char s[4]; int x;
    for(int i=1;i<=(n<<1);i++)
    {
        scanf("%s%d",s,&x);
        if(s[0]=='W') pw[x]=i;
        else pb[x]=i;
    }
}

void cal_c()
{
    for(int i=0;i<n;i++)
    {
        for(int j=1;j<=i;j++) costw[i][0]+=(pw[j]>pw[i+1]);
        for(int j=1;j<=n;j++) costw[i][j]=costw[i][j-1]+(pb[j]>pw[i+1]);
    }
    for(int j=0;j<n;j++)
    {
        for(int i=1;i<=j;i++) costb[0][j]+=(pb[i]>pb[j+1]);
        for(int i=1;i<=n;i++) costb[i][j]=costb[i-1][j]+(pw[i]>pb[j+1]);
    }
}

void cal_dp()
{
    memset(dp,0x3f,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]);
        }
    }
}

void work()
{
    cal_c();
    cal_dp();
    printf("%d\n",dp[n][n]);
}

int main()
{
    read();
    work();
}