#include <bits/stdc++.h>
using namespace std;
#define int long long
struct ENY{
int suml = 0, sumr = 0;
priority_queue<int> l;
priority_queue<int, vector<int>, greater<int>> r;
void insert(int x){
if(l.empty() || x <= l.top()){
l.push(x);
suml += x;
}else{
r.push(x);
sumr += x;
}
if(l.size() > r.size() + 1){
int val = l.top();
l.pop();
suml -= val;
r.push(val);
sumr += val;
}else if(r.size() > l.size()){
int val = r.top();
r.pop();
sumr -= val;
l.push(val);
suml += val;
}
}
int cute(){
int m = l.top();
return (sumr - r.size() * m) + (l.size() * m - suml);
}
} banhhe, behanh;
void solve() {
int k, n; cin >> k >> n;
vector<pair<int, int>> a;
int res = 0;
for(int i = 1; i <= n; i++){
char p, q; int s, t;
cin >> p >> s >> q >> t;
if(p == q) res += abs(s - t);
else a.push_back({s, t});
}
res += a.size();
if(a.empty()){
cout << res;
return;
}
sort(a.begin(), a.end(), [](pair<int, int> x, pair<int, int> y){
return x.first + x.second < y.first + y.second;
});
vector<int> pre(a.size());
for(int i = 0; i < a.size(); i++){
banhhe.insert(a[i].first);
banhhe.insert(a[i].second);
pre[i] = banhhe.cute();
}
int ans = pre.back();
if(k == 2){
for(int i = a.size() - 1; i >= 1; i--){
behanh.insert(a[i].first);
behanh.insert(a[i].second);
ans = min(ans, pre[i - 1] + behanh.cute());
}
}
cout << ans + res;
}
signed main(){
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
solve();
}