#include <bits/stdc++.h>
using namespace std;
#define int long long
int c[10000005];
int till = 0;
string s[100005];
struct node {
int a=0, b=0, c=0;
};
bool cmp(int a, int b) {
return a > b;
}
map<string, node>mp;
signed main() {
int n, m;
cin >> n >> m;
for (int i = 0; i < m; i++) {
int a, b, c;
cin >> a >> b >> c >> s[i];
mp[s[i]].a += a;
mp[s[i]].b = b;
mp[s[i]].c = c;
}
for (int i = 0; i < m; i++) {
till++;
for (; mp[s[i]].a>0;) {
c[till] = min(mp[s[i]].a, mp[s[i]].c) * mp[s[i]].b;
mp[s[i]].a -= min(mp[s[i]].a, mp[s[i]].c);
}
}
sort(c + 1, c + till + 1, cmp);
int ans = 0;
for (int i = 1; i <= 21 - n; i++) {
ans += c[i];
}
cout << ans;
return 0;
}