def associative(M): n = len(M) for a in range(n): for b in range(n): for c in range(n): if M[M[a][b]][c]!=M[a][M[b][c]]: return False return True