https://www.codechef.com/viewsolution/36838098

I was just trying to pass the subtask with 10 points, but I failed, why?

did you apply mod at the final result of pow1?

Do you know what is the maximum value of n? I am asking you this because you have used `pow`

function to calculate `pow(2,i)`

where i is as high as n (5e5). So its causing wrong answer as you are requesting to calculate pow(2,500000).

Try to use modular exponentiation to calculate powers modulo any number.

Instead of inbuilt modulo method fmod() [it takes modulo at end of computation of power] , use your own method for power function which takes modulo at every step of overflow , i.e.

`LL`

is for `long long int’

LL power_mod(LL a, LL k) {

if (k == 0)

return 1;

LL temp = power(a, k/2);

LL res;

res = ( ( temp % P ) * (temp % P) ) % P;

if (k % 2 == 1)

res = ((a % P) * (res % P)) % P;

return res;

}

thank you all, got it i checked till n=1000,