#include<iostream>
using namespace std;
int a[55],b[55],c[55],d[55],n,m,q,A[55],ans=0;
void dfs(int step,int pre){
    if(step==n){
        int sum=0;
        for(int i=0;i<q;i++){
            if(A[b[i]]-A[a[i]]==c[i])
                sum+=d[i];}
        ans=max(ans,sum);
        return ;
    }
    for(int i=pre;i<=m;i++){
        A[step]=i;
        dfs(step+1,i);
    }
}
int main(){
    cin>>n>>m>>q;
    for(int i=0;i<q;i++){
        cin>>a[i]>>b[i]>>c[i]>>d[i];
        --a[i];--b[i];
    }
    dfs(0,1);
    cout<<ans;
    return 0;}
