Submission
Status:
PPPPPPPPPP
Score: 100
User: Dormon
Problemset: Medulla
Language: cpp
Time: 1.837 second
Submitted On: 2024-12-11 07:13:12
#include <iostream>
#include <cstring>
#include <vector>
#include <algorithm>
#include <functional>
#include <queue>
#include <numeric>
#define debug(...) Debug(#__VA_ARGS__, __VA_ARGS__)
using namespace std;
const bool TEST_CASE = 1;
template<typename T>
typename std::enable_if<std::is_integral<T>::value>::type
Debug(const char* name, T value) {
std::cout << name << " : " << value << '\n';
}
template<typename T, typename... Args>
typename std::enable_if<std::is_integral<T>::value>::type
Debug(const char* names, T value, Args... args) {
const char* comma = strchr(names, ',');
std::cout.write(names, comma - names) << " : " << value << " | ";
Debug(comma + 1, args...);
}
const int N = 8e6, mod = 20011;
int ans[N];
void solve(){
int n;
cin >> n;
cout << ans[n] << '\n';
}
int pow3(int i){
i %= mod;
return (((i * i) % mod) * i) % mod;
}
int main()
{
#ifndef DORMON
ios_base::sync_with_stdio(0);
#endif
cin.tie(0);
ans[0] = 0;
ans[1] = 1;
ans[2] = 8;
for (int i = 3;i < N;i++)
ans[i] = (pow3(ans[i-3]) + ((ans[i-2] * ans[i-1]) % mod)) % mod;
int q = 1;
if (TEST_CASE) cin >> q;
while (q--){
solve();
}
}