#include <bits/stdc++.h>
using namespace std;
int n,m,q;
int a[60],b[60],c[60],d[60];
int A[60],ans;

void dfs(int depth,int pre) {
	if(depth==n) {
		int s=0; 
		for(int i=0;i<q;i++) {
			if(A[b[i]-1]-A[a[i]-1]==c[i]) {
				s+=d[i];
			}
		}
		ans=max(s,ans);
		return;
	}
	for(int i=pre;i<=m;i++) {
		A[depth]=i;
		dfs(depth+1,i);
	}
}

int main() {
	cin>>n>>m>>q;
	for(int i=0;i<q;i++) {
		cin>>a[i]>>b[i]>>c[i]>>d[i];
	}
	dfs(0,1);
	cout<<ans;
	return 0;
}