Submission

Status:

PPPPP-----

Subtask/Task Score:

50/100

Score: 50

User: Dark_kingdom

Problemset: Medulla

Language: cpp

Time: 1.605 second

Submitted On: 2026-10-15 21:18:05

#include <iostream>
using namespace std;
const long long b = 7500000;
long long a[b+1];
long long MOD = 20011;

void f()
{
	a[0] = 0;
	a[1] = 1;
	a[2] = 8;
	
	
	for (int i = 3; i<b; i++)
	{
		long long term1 = a[i-3];
		long long term1_cubed = (term1*term1)%MOD;
		term1_cubed = (term1_cubed*term1) %MOD;
		long long term2 = a[i-2]*a[i-1] % MOD;

		a[i] = (term1_cubed + term2) % MOD;
	}	
}

int main()
{
	cin.tie(nullptr)->sync_with_stdio(false);
	
	f();
	
	long long n;
	if (!(cin>>n)) return 0;
	while(n--)
	{
		int x;
		cin>>x;
		cout<<a[x]<<"\n";
	}
	

	
	return 0;
}