#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>
using namespace std;
struct thing{
int a,b,c;
string s;
}t[103];
int n,m,flag,ans;
int cmd(thing a,thing b)
{
return a.a*a.b>b.a*b.b;
}
int main()
{
cin>>m>>n;
for(int i=1;i<=n;i++)
{
int op=0;
int a1,b1,c1;
string s1;
cin>>a1>>b1>>c1>>s1;
for(int l=1;l<=flag;l++)
{
int need=t[l].c-t[l].a;
if(t[l].s==s1)
t[l].a+=min(need,a1);
if(need<=a1)
{
flag++;
t[flag].s=s1;
t[flag].a=a1-need;
t[flag].b=b1;
t[flag].c=c1;
}
op=1;
}
if(op==0)
{
flag++;
t[flag].s=s1;
t[flag].a=a1;
t[flag].b=b1;
t[flag].c=c1;
}
}
sort(t+1,t+1+flag,cmd);
for(int i=1;i<=21-m;i++)
ans+=t[i].a*t[i].b;
cout<<ans<<endl;
return 0;
}