#include<bits/stdc++.h>
using namespace std;

#define ll long long


ll k, mod;
vector<ll>b;
vector<ll>c;

vector<vector<ll>> multiply(vector<vector<ll>>A,vector<vector<ll>>B)
{
	vector<vector<ll>> ans(k+2, vector<ll>(k+2));
	for(int i=1; i<=k+1; i++)
	{
		for(int j=1; j<=k+1; j++)
		{
			ll fin = 0;
			for(int ff=1; ff<=k+1; ff++)
				fin = (  fin+ ((A[i][ff]*B[ff][j])%mod) )%mod;
			ans[i][j] = fin;
		}
	}
	return ans;
}


vector<vector<ll>> pow(vector<vector<ll>>T, ll n)
{
	if(n==1) return T;

	if(n&1)
		return multiply(T,pow(T,n-1));
	else
	{
		vector<vector<ll>> X = pow(T, n/2);
		return multiply(X, X);
	}
}


ll compute(ll n)
{

	if(n<=0)	return -1;
	
	if(n<=k)
	{
		ll finsum = 0;
		for(int i=1; i<=n; i++)
			finsum = (finsum+b[i-1])%mod;
		return finsum;
	}

	vector<ll>F(k+2);

	F[1] = 0;
	for(int i=0; i<k; i++)
		F[i+2] = b[i];

	// for(int i=1; i<=k+1; i++)
	// 	cout<<F[i]<<endl;
	// cout<<"***"<<endl;

	vector<vector<ll>>T(k+2, vector<ll>(k+2, 0));

	T[1][1] = 1;
	T[1][2] = 1;

	for(int i=2; i<=k; i++)
	{
		for(int j=1; j<=k+1; j++)
		{
			if(i==j-1)
				T[i][j] = 1;
		}
	}



	for(int i=1; i<=k; i++)
		T[k+1][i+1] = c[k-i];

	// for(int i=1; i<=k+1; i++)
	// {
	// 	for(int j=1; j<=k+1; j++)
	// 		cout<<T[i][j]<<" ";
	// 	cout<<endl;
	// }
	// cout<<"***"<<endl;

	T = pow(T, n);

	// for(int i=1; i<=k+1; i++)
	// {
	// 	for(int j=1; j<=k+1; j++)
	// 		cout<<T[i][j]<<" ";
	// 	cout<<endl;
	// }
	// cout<<"***"<<endl;

	ll finans = 0;
	for(int i=1; i<=k+1; i++)
		finans = ( finans + ((T[1][i]*F[i])%mod) )%mod;

	return finans;

}


int main()
{

	ios::sync_with_stdio(0);   
    cin.tie(0);
    #ifndef ONLINE_JUDGE   
    freopen("input.txt", "r", stdin);   
    freopen("output.txt", "w", stdout);   
    #endif

	ll t, val, n, m;
	cin>>t;
	while(t--)
	{
		
		cin>>k;
		b.clear();
		c.clear();
		b.reserve(k);
		c.reserve(k);

		for(int i=0; i<k; i++)
		{
			cin>>val;
			b.push_back(val);
		}

		for(int i=0; i<k; i++)
		{
			cin>>val;
			c.push_back(val);
		}

		cin>>m;
		cin>>n;
		cin>>mod;

		ll aa = compute(m-1);
		ll bb = compute(n);
		// cout<<bb<<" "<<aa<<endl;
		ll finans = (bb-aa+mod)%mod;
		cout<<finans<<endl;

	}

	return 0;
}