Pagini recente » Cod sursa (job #1887696) | Cod sursa (job #2758215) | Cod sursa (job #1872835) | Cod sursa (job #288759) | Cod sursa (job #635503)
Cod sursa(job #635503)
#include <cstdio>
#define modulo 666013
void solve(int A, int B, long long &R1, long long &R2)
{
long long t1, t2;
int P[4];
if (A < 2 && B < 2) { R1 = R2 = 1; return; }
--A;
--B;
P[0] = A/2;
P[1] = A-P[0];
P[2] = B/2;
P[3] = B-P[2];
solve(P[0], P[3], t1, t2);
if (P[0] == P[1]) R1 = (t1*t1) % modulo;
else R1 = (t1*t2*2)%modulo;
if (P[2] == P[3]) R2 = (t2*t2) % modulo;
else R2 = (t1*t2*2) % modulo;
}
int main()
{
int Q, N;
long long R1, R2;
freopen("ciuperci.in","r",stdin);
freopen("ciuperci.out","w",stdout);
scanf("%d", &Q);
while (Q--)
{
scanf("%d", &N);
--N;
solve(N/2, N-N/2, R1, R2);
if ((N&1) == 0) printf("%lld\n", (R1*R2)%modulo);
else printf("%lld\n", (R1*R2*2)%modulo);
}
return 0;
}