(a[0][0] + a[0][1]) (a[1][0] + a[1][1]) (a[2][0] + a[2][1]) ... (a[N-1][0] + a[N-1][1]) #### $C[0] = 1; $C[$N-1] = 1; for ($i=0; $i<$N; $i++) { $C[0] *= $a->[$i]->[0]; $C[$N-1] *= $a->[$i]->[1]; } #### (a[0][0] + a[0][1]) * (a[1][0] + a[1][1]) = C[0] + C[1] + C[2] + C[3], where C[0] = a[0][0] * a[1][0] C[1] = a[0][0] * a[1][1] C[2] = a[0][1] * a[1][0] C[3] = a[0][1] * a[1][1]