Gx,Gy,K=map(int,input().split()) W=[list(map(int,input().split())) for i in range(K)] while len(W)<=5: W.append((0,0,0)) DP=[[[[[0]*16 for i in range(16)] for j in range(16)] for k in range(16)] for l in range(16)] DP[0][0][0][0][0]=1 ANS=0 for i in range(W[0][2]+1): for j in range(W[1][2]+1): for k in range(W[2][2]+1): for l in range(W[3][2]+1): for m in range(W[4][2]+1): if i+1<=W[0][2]: DP[i+1][j][k][l][m]+=DP[i][j][k][l][m] if j+1<=W[1][2]: DP[i][j+1][k][l][m]+=DP[i][j][k][l][m] if k+1<=W[2][2]: DP[i][j][k+1][l][m]+=DP[i][j][k][l][m] if l+1<=W[3][2]: DP[i][j][k][l+1][m]+=DP[i][j][k][l][m] if m+1<=W[4][2]: DP[i][j][k][l][m+1]+=DP[i][j][k][l][m] x=W[0][0]*i+W[1][0]*j+W[2][0]*k+W[3][0]*l+W[4][0]*m y=W[0][1]*i+W[1][1]*j+W[2][1]*k+W[3][1]*l+W[4][1]*m if x==Gx and y==Gy: ANS+=DP[i][j][k][l][m] print(ANS%(10**9+7))