#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
#include <stdbool.h>

#define loop(i,st,en) for(int i=st;i<en;i++)
#define loop0n(i,n) for(int i=0;i<n;i++)


int main() {
  int M=0,N=0,Q=0;
  int abcd[60][4]={0};
  int A[11]={0};
  int max=0,point=0;
  scanf("%d %d %d",&N,&M,&Q);
  loop0n(i,Q){
    scanf("%d %d %d %d",&abcd[i][0],&abcd[i][1],&abcd[i][2],&abcd[i][3]);
  }

  loop(i,1,M+1){
    loop(j,i,M+1){
      loop(k,j,M+1){
        loop(l,k,M+1){
          loop(m,l,M+1){
            loop(n,m,M+1){
              loop(o,n,M+1){
                loop(p,o,M+1){
                  loop(q,p,M+1){
                    loop(r,q,M+1){
                      A[1]=i;
                      A[2]=j;
                      A[3]=k;
                      A[4]=l;
                      A[5]=m;
                      A[6]=n;
                      A[7]=o;
                      A[8]=p;
                      A[9]=q;
                      A[10]=r;
                      loop0n(i,Q){
                        if((A[abcd[i][1]]-A[abcd[i][0]])==abcd[i][2]){
                          point += abcd[i][3];
                        }
                      }
                      if(point>max){
                        max=point;
                      }
                      point=0;
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }

  printf("%d\n",max);
  return 0;
}