#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e5+5;
int k,n,a[N],b[N],cnt,ans,sum1,sum2,pre[N],suf[N],id[N],mn=1e18;
priority_queue<int> q1,q2;
void ins(int x)
{
if(q1.empty())
{
sum1+=x,q1.push(x);
return;
}
q1.push(x),sum1+=x;
if((!q2.empty()&&q1.top()>-q2.top())||q1.size()>=q2.size()+2)
{
q2.push(-q1.top()),sum2+=q1.top();
sum1-=q1.top(),q1.pop();
}
if(q2.size()>q1.size())
{
q1.push(-q2.top()),sum2-=-q2.top();
sum1+=-q2.top(),q2.pop();
}
}
signed main()
{
cin>>k>>n;
for(int i=1;i<=n;i++)
{
char c1,c2;
int x,y;
cin>>c1>>x>>c2>>y;
if(c1==c2) ans+=abs(y-x);
else
{
if(c1=='B'&&c2=='A') swap(x,y);
a[++cnt]=x,b[cnt]=y,ans++;
}
}
if(k==1)
{
for(int i=1;i<=cnt;i++)
ins(a[i]),ins(b[i]);
cout<<sum2-sum1+ans;
}
else
{
for(int i=1;i<=cnt;i++) id[i]=i;
sort(id+1,id+1+cnt,[&](int x,int y)
{
return a[x]+b[x]<a[y]+b[y];
});
for(int i=1;i<=cnt;i++)
{
ins(a[id[i]]),ins(b[id[i]]);
pre[i]=sum2-sum1;
}
sum1=sum2=0;
q1=priority_queue<int>();
q2=priority_queue<int>();
for(int i=cnt;i;i--)
{
ins(a[id[i]]),ins(b[id[i]]);
suf[i]=sum2-sum1;
}
for(int i=1;i<cnt;i++) mn=min(mn,pre[i]+suf[i+1]);
cout<<mn+ans;
}
return 0;
}