For problem statement at 1000-1999/1100-1199/1150-1159/1151/problemC.txt this is a correct solution, but verifier at 1000-1999/1100-1199/1150-1159/1151/verifierC.go ends with All tests passed can you fix the verifier? package main
import (
"fmt"
)
const MOD int64 = 1000000007
func sumN(n int64) int64 {
var oddCount, evenCount int64
p := int64(1)
isOdd := true
for n > 0 {
take := n
if take > p {
take = p
}
if isOdd {
oddCount = (oddCount + take) % MOD
} else {
evenCount = (evenCount + take) % MOD
}
n -= take
p *= 2
isOdd = !isOdd
}
res := (oddCount * oddCount) % MOD
evenPart := (evenCount * ((evenCount + 1) % MOD)) % MOD
res = (res + evenPart) % MOD
return res
}
func main() {
var l, r int64
if _, err := fmt.Scan(&l, &r); err == nil {
ans := (sumN(r) - sumN(l-1) + MOD) % MOD
fmt.Println(ans)
}
}