For problem statement at 1000-1999/1700-1799/1780-1789/1787/problemB.txt this is a correct solution, but verifier at 1000-1999/1700-1799/1780-1789/1787/verifierB.go ends with All 100 tests passed can you fix the verifier? package main
import (
"bufio"
"fmt"
"os"
)
func main() {
in := bufio.NewReader(os.Stdin)
out := bufio.NewWriter(os.Stdout)
defer out.Flush()
var t int
if _, err := fmt.Fscan(in, &t); err != nil {
return
}
for ; t > 0; t-- {
var n int64
fmt.Fscan(in, &n)
temp := n
primes := make([]int64, 0)
exps := make([]int, 0)
if temp%2 == 0 {
cnt := 0
for temp%2 == 0 {
temp /= 2
cnt++
}
primes = append(primes, 2)
exps = append(exps, cnt)
}
for i := int64(3); i*i <= temp; i += 2 {
if temp%i == 0 {
cnt := 0
for temp%i == 0 {
temp /= i
cnt++
}
primes = append(primes, i)
exps = append(exps, cnt)
}
}
if temp > 1 {
primes = append(primes, temp)
exps = append(exps, 1)
}
ans := int64(0)
for {
prod := int64(1)
for i := range primes {
if exps[i] > 0 {
prod *= primes[i]
exps[i]--
}
}
if prod == 1 {
break
}
ans += prod
}
fmt.Fprintln(out, ans)
}
}