vector<vector> matrix_expo(vector<vector> A, int p){
vector<vector<ll>> res(A.size(),vector<ll>(A.size(),1));
while(p){
if(p&1)
res = matrix_multiply(res, A);
A = matrix_multiply(A, A);
p >>= 1;
}
return res;
}
Please explain the error in the code for matrix iterative exponentiation as it gives incorrect output.