#include<stdio.h>
#include<math.h>

#define N 10
#define M 10
#define Q 50

void main(){
  int n, m, q, a[Q], b[Q], c[Q], A[N], badA=0;
  long long int d[Q], sum, sum_max=0;
  scanf("%d %d %d",&n, &m, &q);
  for(int i=0; i<q; i++){
    scanf("%d %d %d %lld",&a[i], &b[i], &c[i], &d[i]);
  }
  
  for(int k=0; k<pow(m,n); k++){    
    for(int j=0; j<n; j++){
      long long int l = k/pow(m,n-j-1);
      A[j] = l%m + 1 ;
    }
//    for(int j=0; j<n; j++)
//      printf("%d",A[j]);
//    printf("\n");
    
    badA=0;
    for(int j=1; j<n; j++){
      if(A[j-1]>A[j]){
        badA = 1;
        break;
      }        
    }
    if(badA==1)
      continue;
    
//    for(int j=0; j<n; j++)
//      printf("%d ",A[j]);
//    printf("\n");
    
    sum=0;
    for(int i=0; i<q; i++){     
      if(A[b[i]-1]-A[a[i]-1]==c[i]){
        sum += d[i];
      }
    }
    if(sum_max < sum)
      sum_max = sum;    
  }
  printf("%lld",sum_max);
}