#include<bits/stdc++.h>
using namespace std;
int main(){
    int n,m,q;
    cin>>n>>m>>q;
    int a[q],b[q],c[q],d[q];
    for(int i=0;i<q;i++){
        cin>>a[i]>>b[i]>>c[i]>>d[i];
    }
    int x[n];
    int ma=0;
    if(n==2){
        for(x[0]=1;x[0]<=m;x[0]++){
            for(x[1]=x[0];x[1]<=m;x[1]++){
                int sc=0;
                for(int i=0;i<q;i++)if(x[b[i]-1]-x[a[i]-1]==c[i])sc+=d[i];
                ma=max(ma,sc);
            }
        }
    }
    if(n==3){
        for(x[0]=1;x[0]<=m;x[0]++){
            for(x[1]=x[0];x[1]<=m;x[1]++){
                for(x[2]=x[1];x[2]<=m;x[2]++){
                int sc=0;
                for(int i=0;i<q;i++)if(x[b[i]-1]-x[a[i]-1]==c[i])sc+=d[i];
                ma=max(ma,sc);
            }
        }
    }
    }
    if(n==4){
        for(x[0]=1;x[0]<=m;x[0]++){
            for(x[1]=x[0];x[1]<=m;x[1]++){
                for(x[2]=x[1];x[2]<=m;x[2]++){
                    for(x[3]=x[2];x[3]<=m;x[3]++){
                int sc=0;
                for(int i=0;i<q;i++)if(x[b[i]-1]-x[a[i]-1]==c[i])sc+=d[i];
                ma=max(ma,sc);
            }
        }
    }
    }
    }
    if(n==5){
        for(x[0]=1;x[0]<=m;x[0]++){
            for(x[1]=x[0];x[1]<=m;x[1]++){
                for(x[2]=x[1];x[2]<=m;x[2]++){
                    for(x[3]=x[2];x[3]<=m;x[3]++){
                        for(x[4]=x[3];x[4]<=m;x[4]++){
                int sc=0;
                for(int i=0;i<q;i++)if(x[b[i]-1]-x[a[i]-1]==c[i])sc+=d[i];
                ma=max(ma,sc);
            }
        }
    }
    }
    }
    }
    if(n==6){
        for(x[0]=1;x[0]<=m;x[0]++){
            for(x[1]=x[0];x[1]<=m;x[1]++){
                for(x[2]=x[1];x[2]<=m;x[2]++){
                    for(x[3]=x[2];x[3]<=m;x[3]++){
                        for(x[4]=x[3];x[4]<=m;x[4]++){
                            for(x[5]=x[4];x[5]<=m;x[5]++){
                int sc=0;
                for(int i=0;i<q;i++)if(x[b[i]-1]-x[a[i]-1]==c[i])sc+=d[i];
                ma=max(ma,sc);
            }
        }
    }
    }
    }
    }
    }
    if(n==7){
        for(x[0]=1;x[0]<=m;x[0]++){
            for(x[1]=x[0];x[1]<=m;x[1]++){
                for(x[2]=x[1];x[2]<=m;x[2]++){
                    for(x[3]=x[2];x[3]<=m;x[3]++){
                        for(x[4]=x[3];x[4]<=m;x[4]++){
                            for(x[5]=x[4];x[5]<=m;x[5]++){
                                for(x[6]=x[5];x[6]<=m;x[6]++){
                int sc=0;
                for(int i=0;i<q;i++)if(x[b[i]-1]-x[a[i]-1]==c[i])sc+=d[i];
                ma=max(ma,sc);
            }
        }
    }
    }
    }
    }
    }
    }
    if(n==8){
        for(x[0]=1;x[0]<=m;x[0]++){
            for(x[1]=x[0];x[1]<=m;x[1]++){
                for(x[2]=x[1];x[2]<=m;x[2]++){
                    for(x[3]=x[2];x[3]<=m;x[3]++){
                        for(x[4]=x[3];x[4]<=m;x[4]++){
                            for(x[5]=x[4];x[5]<=m;x[5]++){
                                for(x[6]=x[5];x[6]<=m;x[6]++){
                                    for(x[7]=x[6];x[7]<=m;x[7]++){
                int sc=0;
                for(int i=0;i<q;i++)if(x[b[i]-1]-x[a[i]-1]==c[i])sc+=d[i];
                ma=max(ma,sc);
            }
        }
    }
    }
    }
    }
    }
    }
    }
    if(n==9){
        for(x[0]=1;x[0]<=m;x[0]++){
            for(x[1]=x[0];x[1]<=m;x[1]++){
                for(x[2]=x[1];x[2]<=m;x[2]++){
                    for(x[3]=x[2];x[3]<=m;x[3]++){
                        for(x[4]=x[3];x[4]<=m;x[4]++){
                            for(x[5]=x[4];x[5]<=m;x[5]++){
                                for(x[6]=x[5];x[6]<=m;x[6]++){
                                    for(x[7]=x[6];x[7]<=m;x[7]++){
                                        for(x[8]=x[7];x[8]<=m;x[8]++){
                int sc=0;
                for(int i=0;i<q;i++)if(x[b[i]-1]-x[a[i]-1]==c[i])sc+=d[i];
                ma=max(ma,sc);
            }
        }
    }
    }
    }
    }
    }
    }
    }
    }
    if(n==10){
        for(x[0]=1;x[0]<=m;x[0]++){
            for(x[1]=x[0];x[1]<=m;x[1]++){
                for(x[2]=x[1];x[2]<=m;x[2]++){
                    for(x[3]=x[2];x[3]<=m;x[3]++){
                        for(x[4]=x[3];x[4]<=m;x[4]++){
                            for(x[5]=x[4];x[5]<=m;x[5]++){
                                for(x[6]=x[5];x[6]<=m;x[6]++){
                                    for(x[7]=x[6];x[7]<=m;x[7]++){
                                        for(x[8]=x[7];x[8]<=m;x[8]++){
                                            for(x[9]=x[8];x[9]<=m;x[9]++){
                int sc=0;
                for(int i=0;i<q;i++)if(x[b[i]-1]-x[a[i]-1]==c[i])sc+=d[i];
                ma=max(ma,sc);
            }
        }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    cout<<ma<<endl;
    return 0;
}

Measured memory_bytes: 3636