Spp recursive 2 fast exponentiation

my cpp code was failing for 2 cases s i tried in python
now i am getting RE for 2 cases
please find my mistake…
thanks

def mult(A,B,p,k):
	C = [[0 for i in range(k+2)] for j in range(k+2)]
	for i in range(1,k+2):
		for j in range(1,k+2):
			ans = 0
			for z in range(1,k+2):	
				ans = ans+(A[i][z]*B[z][j])%p
				ans = ans%p
			C[i][j] = ans
	return C

def power(T,n,p,k):
	if n==1:
		return T
	X = power(T,n//2,p,k)
	X = mult(X,X,p,k)
	if n%2 == 1:
		X = mult(X,T,p,k)
	return X

def calc(b,c,k,n,p):
	# ONE INDEXING
	T = [[0 for i in range(k+2)] for j in range(k+2)]
	T[1][1] = 1
	T[1][2] = 1
	for i in range(2,k+1):
		T[i][i+1] = 1
	for i in range(k):
		T[k+1][i+2] = c[k-i-1]

	T = power(T,n,p,k)

	ans = T[1][1]
	for i in range(2,k+2):
		ans = (ans+(T[1][i]*b[i-2])%p)%p

	return ans

c = int(input())
for cc in range(c):
	k = int(input())
	b = [0]*k
	c = [0]*k
	b = list(map(int,input().split()))
	c = list(map(int,input().split()))
	m,n,p = map(int,input().split())
	aa = calc(b,c,k,m-1,p)
	bb = calc(b,c,k,n,p)
	ans = (bb-aa+p)%p
	print(ans)