#include <bits/stdc++.h>
#define int ll
using namespace std;
#define rep(i,n) for(int i=0;i<n;i++)
#define per(i,n) for(int i=n-1;i>=0;i--)
#define rng(i,c,n) for(int i=c;i<n;i++)
#define all(a) a.begin(),a.end()
#define sz(a) (int)a.size()
#define fi first
#define se second
#define vec vector
#define pb push_back
typedef long long ll;
typedef vector<int> vi;
typedef pair<int,int> pii;
void print(){cout<<'\n';}
template<class H,class...T>
void print(const H&v,const T&...u){cout<<v<<' ',print(u...);}
void slv(){
int k,n;
cin>>k>>n;
int ans=0;
vi a;
vec<pii> e;
rep(i,n){
char s,t;
int x,y;
cin>>s>>x>>t>>y;
if(s==t){
ans+=abs(x-y);
}else{
ans++;
e.pb({x,y});
a.pb(x);
a.pb(y);
}
}
sort(all(a));
if(k==2){
auto g=[&](int xl,int xr){
int ret=0;
for(auto [x,y]:e){
ret+=min(abs(x-xl)+abs(y-xl),abs(x-xr)+abs(y-xr));
}
// print(xl,xr,ret);
return ret;
};
auto f=[&](int pos){
int l=pos,r=sz(a)-1;
while(r-l>3){
int ml=(2*l+r)/3;
int mr=(l+2*r)/3;
if(g(a[pos],a[ml])<g(a[pos],a[mr])) r=mr;
else l=ml;
}
int ret=1e18;
rng(i,l,r+1) ret=min(ret,g(a[pos],a[i]));
return ret;
};
int l=0,r=sz(a)-1;
while(r-l>3){
int ml=(2*l+r)/3;
int mr=(l+2*r)/3;
if(f(ml)<f(mr)) r=mr;
else l=ml;
}
int ad=1e18;
rng(i,l,r+1) ad=min(ad,f(i));
// print(ad);
ans+=ad;
}else{
rep(i,sz(a)){
ans+=abs(a[sz(a)/2]-a[i]);
}
}
print(ans);
}
signed main(){
ios::sync_with_stdio(0),cin.tie(0);
int t;
t=1;
// cin>>t;
rep(cs,t){
slv();
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgaW50IGxsCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgcmVwKGksbikgZm9yKGludCBpPTA7aTxuO2krKykKI2RlZmluZSBwZXIoaSxuKSBmb3IoaW50IGk9bi0xO2k+PTA7aS0tKQojZGVmaW5lIHJuZyhpLGMsbikgZm9yKGludCBpPWM7aTxuO2krKykKI2RlZmluZSBhbGwoYSkgYS5iZWdpbigpLGEuZW5kKCkKI2RlZmluZSBzeihhKSAoaW50KWEuc2l6ZSgpCiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSB2ZWMgdmVjdG9yCiNkZWZpbmUgcGIgcHVzaF9iYWNrCnR5cGVkZWYgbG9uZyBsb25nIGxsOwp0eXBlZGVmIHZlY3RvcjxpbnQ+IHZpOwp0eXBlZGVmIHBhaXI8aW50LGludD4gcGlpOwp2b2lkIHByaW50KCl7Y291dDw8J1xuJzt9CnRlbXBsYXRlPGNsYXNzIEgsY2xhc3MuLi5UPgp2b2lkIHByaW50KGNvbnN0IEgmdixjb25zdCBUJi4uLnUpe2NvdXQ8PHY8PCcgJyxwcmludCh1Li4uKTt9Cgp2b2lkIHNsdigpewoJaW50IGssbjsKCWNpbj4+az4+bjsKCglpbnQgYW5zPTA7Cgl2aSBhOwoJdmVjPHBpaT4gZTsKCXJlcChpLG4pewoJCWNoYXIgcyx0OwoJCWludCB4LHk7CgkJY2luPj5zPj54Pj50Pj55OwoJCWlmKHM9PXQpewoJCQlhbnMrPWFicyh4LXkpOwoJCX1lbHNlewoJCQlhbnMrKzsKCQkJZS5wYih7eCx5fSk7CgkJCWEucGIoeCk7CgkJCWEucGIoeSk7CgkJfQoJfQoJc29ydChhbGwoYSkpOwoKCWlmKGs9PTIpewoKCQlhdXRvIGc9WyZdKGludCB4bCxpbnQgeHIpewoJCQlpbnQgcmV0PTA7CgkJCWZvcihhdXRvIFt4LHldOmUpewoJCQkJcmV0Kz1taW4oYWJzKHgteGwpK2Ficyh5LXhsKSxhYnMoeC14cikrYWJzKHkteHIpKTsKCQkJfQoJCQkvLyBwcmludCh4bCx4cixyZXQpOwoJCQlyZXR1cm4gcmV0OwoJCX07CgkJCgkJYXV0byBmPVsmXShpbnQgcG9zKXsKCQkJaW50IGw9cG9zLHI9c3ooYSktMTsKCQkJd2hpbGUoci1sPjMpewoJCQkJaW50IG1sPSgyKmwrcikvMzsKCQkJCWludCBtcj0obCsyKnIpLzM7CgkJCQlpZihnKGFbcG9zXSxhW21sXSk8ZyhhW3Bvc10sYVttcl0pKSByPW1yOwoJCQkJZWxzZSBsPW1sOwoJCQl9CQoKCQkJaW50IHJldD0xZTE4OwoJCQlybmcoaSxsLHIrMSkgcmV0PW1pbihyZXQsZyhhW3Bvc10sYVtpXSkpOwoJCQlyZXR1cm4gcmV0OwoJCX07CgoJCWludCBsPTAscj1zeihhKS0xOwoJCXdoaWxlKHItbD4zKXsKCQkJaW50IG1sPSgyKmwrcikvMzsKCQkJaW50IG1yPShsKzIqcikvMzsKCQkJaWYoZihtbCk8ZihtcikpIHI9bXI7CgkJCWVsc2UgbD1tbDsKCQl9CgoJCWludCBhZD0xZTE4OwoJCXJuZyhpLGwscisxKSBhZD1taW4oYWQsZihpKSk7CgkJLy8gcHJpbnQoYWQpOwoJCWFucys9YWQ7Cgl9ZWxzZXsKCQlyZXAoaSxzeihhKSl7CiAgICAgICAgICAgIGFucys9YWJzKGFbc3ooYSkvMl0tYVtpXSk7CiAgICAgICAgfQoJfQoJcHJpbnQoYW5zKTsKfQoKc2lnbmVkIG1haW4oKXsKCWlvczo6c3luY193aXRoX3N0ZGlvKDApLGNpbi50aWUoMCk7CgoJaW50IHQ7Cgl0PTE7CgkvLyBjaW4+PnQ7CgoJcmVwKGNzLHQpewoJCXNsdigpOwoJfQp9