Pagini recente » Cod sursa (job #3242967) | Cod sursa (job #2617404) | Cod sursa (job #1158535) | Cod sursa (job #1375120) | Cod sursa (job #2769359)
#include<cstdio>
using namespace std;
FILE*in=fopen("ciuperci.in","r");
FILE*out=fopen("ciuperci.out","w");
int q,i,r=0;
long long n,v1,v2,w1,w2,a,b;
const int mod=666013;
long long f(int p)
{
long long o=2;
long long rr=1;
while(p>0)
{
if(p%2==1)
{
rr=(long long)(rr*o);
rr=(long long)(rr%mod);
}
o=(long long)(o*o);
o=(long long)(o%mod);
p/=2;
}
return rr;
}
int main()
{
fscanf(in,"%d",&q);
for(i=1;i<=q;i++)
{
r=0;
fscanf(in,"%lld",&n);
a=1;
b=0;
v1=(long long)n;
while(v1>0)
{
w2=(long long)((long long)((long long)(v1-1)/2)+1);
w1=(long long)((long long)(v1-1)/2);
if(v1%2==1)
{
a=(long long)((long long)(2*a)+b);
r+=b;
}
else
{
b=(long long)((long long)(2*b)+a);
r+=a;
}
v2=(long long)w2;
v1=(long long)w1;
}
fprintf(out,"%lld\n",f(r));
}
}