#include <bits/stdc++.h>
#define ll long long
#define N 500005

using namespace std;

int n;
ll X[N],k;

ll power(ll x,ll POWER,ll MOD)
{
	ll ret=1;
	while(POWER>0){
		if(POWER&1)
			ret=(ret*x)%MOD;
		x=(x*x)%MOD;
		POWER>>=1;
	}
	return ret%=MOD;
}

void init()
{
	for(int i=0;i<n;++i)
		cin >> X[i];
	cin >> k;
}

ll dfs(ll now,ll MOD)
{
	if(now==n-1)
		return X[now];

	ll nextMOD=MOD,tmp=MOD;
	for(ll i=2;i*i<=tmp;++i){
		if(tmp%i==0)
			nextMOD=nextMOD/i*(i-1);
		while(tmp%i==0){
			tmp/=i;
		}
	}
	if(tmp!=1)
		nextMOD=nextMOD/tmp*(tmp-1);
	return power(X[now],dfs(now+1,nextMOD),MOD);
}

int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(nullptr);	cout.tie(nullptr);

	while(cin >> n && n!=0){
		init();
		cout << dfs(0,k) << endl;
	}

	return 0;
}
