Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: Dark_kingdom

Problemset: Medulla

Language: cpp

Time: 1.501 second

Submitted On: 2026-10-15 21:19:43

#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;
}