
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#define F(i,a,n) for(int i=a; i<n; i++)

int max=0;
int n,m,q;
int *a,*b,*c,*d;
void max_sum(int *A){
  int sum=0;
  F(i,0,q){
    if(A[b[i]-1]-A[a[i]-1]==c[i]) sum+=d[i];
  }
  if(max<sum)max=sum;
}

void loop(int ai,int *A){
  int i=1;
  if(ai!=0) i=A[ai-1];
  for(;i<=m;i++){
    A[ai]=i;
    if(ai+1<n) loop(ai+1,A);
    else max_sum(A);
  }
}

int main(){
  scanf("%d%d%d",&n,&m,&q);
  a=(int*)malloc(sizeof(int)*q);
  b=(int*)malloc(sizeof(int)*q);
  c=(int*)malloc(sizeof(int)*q);
  d=(int*)malloc(sizeof(int)*q);
  F(i,0,q){
    scanf("%d%d%d%d",a+i,b+i,c+i,d+i);
  }
  int A[n];
  F(i,0,n)A[i]=0;
  loop(0,A);
  printf("%d\n",max);
  return 0;
}