#include<stdio.h>
#include<stdlib.h>
int A[11]={};
int a[50],b[50],c[50],d[50];
int N,M,Q;
int d_max=0;

int max_cal(int a,int b)
{
  if(a>=b) return a;
  else if(a<b) return b;
}
void d_max_cal(void)
{
  int tmp=0;
  for(int i=0;i<Q;i++){
    if((A[b[i]]-A[a[i]])==c[i]) tmp+=d[i];
  }
  d_max=max_cal(d_max,tmp);
}
void for_loop(int n)
{
  for(int i=A[n-1];i<=M;i++){
    A[n]=i;
    if(n==N) d_max_cal();
    else if(n<N) for_loop(n+1);
  }  
}
main(void)
{
  scanf("%d%d%d",&N,&M,&Q);
  for(int i=0;i<Q;i++){
    scanf("%d%d%d%d",&a[i],&b[i],&c[i],&d[i]);
  }
  A[0]=1;
  for_loop(1);
  printf("%d",d_max);
}