You are having a fill array-of-arrays problem. Hint: do C15[1][1] = 1 and then look at C15[2].
TDLR: You are initializing your arrays so that every element “points” to the same array, so that mutating one element’s array mutates them all.
This is compounding your fill confusion with assignment vs. mutation confusion.
TLDR: = copy assigns that element to a new array, without affecting the other elements, whereas .= mutates the existing array (which affects all your other elements due to the fill confusion).