#include <stdio.h>

int N, M, Q;
int a[64], b[64], c[64], d[64];

int A[12];
int kotae = 0;

void zentan(int pos) {
	if (pos >= N) {
		int kitaeri = 0;
		int i;
		for (i = 0; i < Q; i++) {
			if (A[b[i] - 1] - A[a[i] - 1] == c[i]) kitaeri += d[i];
		}
		if (kitaeri > kotae) kotae = kitaeri;
	} else {
		int i;
		for (i = pos == 0 ? 1 : A[pos - 1]; i <= M; i++) {
			A[pos] = i;
			zentan(pos + 1);
		}
	}
}

int main(void) {
	int i;
	if (scanf("%d%d%d", &N, &M, &Q) != 3) return 1;
	for (i = 0; i < Q; i++) {
		if (scanf("%d%d%d%d", &a[i], &b[i], &c[i], &d[i]) != 4) return 1;
	}

	zentan(0);
	printf("%d\n", kotae);

	return 0;
}
