const debugMode = false;
const inf = Number.MAX_SAFE_INTEGER;

function Main(input){
  input = input.split("\n");
  var mem = input[0].split(" ").map(Number);
  var now = new Array(mem[0]).fill(mem[1]);
  var s = new Array(mem[0]).fill(1);
  var max = parseInt(Number(now.join("")),mem[1]+1);
  var min = parseInt(s.join(""),mem[1]+1);
  var q = [];
  input.shift();
  input.forEach(function(val){
    q.push(val.split(" ").map(Number));
  });
 
//console.log(now)
 // console.log(mem)
 // console.log(max,min)
  var ans = 0;
  for(var i=min;i<=max;i++){
    var arr = i.toString(mem[1]+1).split("").map(Number);
    if(is_sortred(arr)){
        var hoge = getpoint(arr);
   //     console.log(hoge)
      if(hoge>ans){
        ans = hoge;
      }
    }
  }
  console.log(ans)
  function getpoint(a){
   //   console.log(a)
    var sum = 0;
    for(var i=0;i<q.length;i++){
      if(a[q[i][1]-1]-a[q[i][0]-1]==q[i][2]){
        sum += q[i][3];
      }
   //   console.log(a[q[i][1]-1],a[q[i][0]-1],q[i][2],q[i][3])
    }
    return sum;
  }
}Main(require("fs").readFileSync("/dev/stdin", "utf8").trim());
function is_sortred(arr){
  var flag = true;
  for(var i=1;i<arr.length;i++){
    if(arr[i-1]>arr[i]){
      flag = false;
      break;
    }
  }
  return flag;
}