#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll mod;
ll n,m,k;
ll ans1[30][30],ans2[30][30],a[30][30],tmp[30][30];
ll x[30],y[30];
ll f1[30][30],f2[30][30];
void cheng(ll a[30][30],ll b[30][30])
{
memset(tmp,0,sizeof(tmp));
for(int i=1;i<=k;i++)
for(int j=1;j<=k;j++)
for(int q=1;q<=k;q++)
tmp[i][j]=(tmp[i][j]+a[i][q]*b[q][j]%mod)%mod;
memcpy(a,tmp,sizeof(tmp));
}
void cheng_(ll a[30][30],ll b[30][30],bool flag)
{
memset(tmp,0,sizeof(tmp));
for(int i=1;i<=k;i++)
for(int j=1;j<=k;j++)
for(int q=1;q<=k;q++)
tmp[i][j]=(tmp[i][j]+a[i][q]*b[q][j]%mod)%mod;
if(flag)memcpy(f1,tmp,sizeof(tmp));
else memcpy(f2,tmp,sizeof(tmp));
}
void ksm1(ll b)
{
for(int i=1;i<=k;i++)ans1[i][i]=1;
while(b)
{
if(b&1)cheng(ans1,a);
b>>=1;
cheng(a,a);
}
}
void ksm2(ll b)
{
for(int i=1;i<=k;i++)ans2[i][i]=1;
while(b)
{
if(b&1)cheng(ans2,a);
b>>=1;
cheng(a,a);
}
}
int main()
{
cin>>k;
for(int i=1;i<=k;i++)cin>>x[i];
for(int i=1;i<=k;i++)cin>>y[i];
cin>>n>>m>>mod;
k++;
for(int i=2;i<=k-1;i++)a[i][i-1]=1;
for(int i=1;i<=k-1;i++)a[i][k-1]=y[k-i];
a[1][k]=1;
a[k][k]=1;
ksm1(n-1);
ksm2(m);
for(int i=1;i<=k-1;i++)
f1[1][i]=f2[1][i]=x[i]%mod;
cheng_(f1,ans1,1);
cheng_(f2,ans2,0);
cout<<(f2[1][k]-f1[1][k]+mod)%mod;
}