Even after making the correct logic , many people got WA …this is due to modular arithmetic
Some Properties -
-
(a + b ) % m = (a % m + b % m ) %m
-
(a - b ) % m = ( (a % m - b % m ) + m ) %m
-
(a * b ) % m = (a % m * b % m ) %m
-
(a / b ) % m = (a % m * inv(b) ) %m where inv(b) = pow(b,m-2,m)
t = int(input()) mod = 1000000007 for _ in range(t): n,k = map(int,input().split(' ')) if(n==0): print((k*(k-1))%mod) else: a = n + k//2 ans = pow(a,2,mod) # pow(base,expo,mod) in this (a*a)%p if(k%2==0): ans = (ans - k//2 + mod ) % mod #(a-b)%mod = ((a%mod - b%mod)%mod + mod)%mod else: ans = (ans + k//2 ) %mod #(a+b)%mod = (a%mod + b%mod)%mod print(ans)