#include<stdio.h>
int shangpin[20];
int p[10][4];
int vlue;
int data[10];
int n,m;
void dfs(int step,int money){
if(step==n){
if(money>vlue) vlue=money;
return;
}
for(int j=0;j<5;j++){ //每个人五种情况 不买、买两个(3)、买三个
if(j==0){ //买两个商品 0与1
if(shangpin[p[step][0]]==1||shangpin[p[step][1]]==1)
continue;
else {
shangpin[p[step][0]]=1;
shangpin[p[step][1]]=1;
money+=2*p[step][3];
dfs(step+1,money);
shangpin[p[step][0]]=0;
shangpin[p[step][1]]=0;
money-=2*p[step][3];
}
}
if(j==1){ //买两个商品 1与2
if(shangpin[p[step][2]]==1||shangpin[p[step][1]]==1)
continue;
else {
shangpin[p[step][2]]=1;
shangpin[p[step][1]]=1;
money+=2*p[step][3];
dfs(step+1,money);
shangpin[p[step][2]]=0;
shangpin[p[step][1]]=0;
money-=2*p[step][3];
}
}
if(j==2){ //买两个商品 0和2
if(shangpin[p[step][0]]==1||shangpin[p[step][2]]==1)
continue;
else {
shangpin[p[step][0]]=1;
shangpin[p[step][2]]=1;
money+=2*p[step][3];
dfs(step+1,money);
shangpin[p[step][0]]=0;
shangpin[p[step][2]]=0;
money-=2*p[step][3];
}
}
if(j==3){ //买三个商品商品 0 1和2
if(shangpin[p[step][0]]==1||shangpin[p[step][1]]==1||shangpin[p[step][2]]==1)
continue;
else {
shangpin[p[step][0]]=1;
shangpin[p[step][1]]=1;
shangpin[p[step][2]]=1;
money+=3*p[step][3];
dfs(step+1,money);
shangpin[p[step][0]]=0;
shangpin[p[step][1]]=0;
shangpin[p[step][2]]=0;
money-=3*p[step][3];
}
}
if(j==4){
dfs(step+1,money);
}
}
}
int main(){
scanf("%d%d",&n,&m);
for(int i=0;i<m;i++)
scanf("%d%d%d%d",&p[i][0],&p[i][1],&p[i][2],&p[i][3]);
dfs(0,0);
printf("%d",vlue);
}