#include <stdio.h>
#define max(p,q)((p)>(q)?(p):(q))
int ans;
int n,m,q;
int a[99],b[99],c[99],d[99];
int p[99];
void dfs(int pos){
	if(pos==n+1){
		int temp=0;
		for(int i=0;i<q;i++)if(p[b[i]]-p[a[i]]==c[i])temp+=d[i];
		ans=max(ans,temp);
	}else{
		for(int i=p[pos-1];i<=m;i++){
			p[pos]=i;
			dfs(pos+1);
		}
	}
}
int main(){
	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);
	p[0]=1;
	dfs(1);
	printf("%d",ans);
}