For problem statement at 0-999/400-499/410-419/413/problemC.txt this is a correct solution, but verifier at 0-999/400-499/410-419/413/verifierC.go ends with All 100 tests passed can you fix the verifier? ```go
package main
import (
"bufio"
"fmt"
"os"
"sort"
"strconv"
)
func main() {
scanner := bufio.NewScanner(os.Stdin)
scanner.Split(bufio.ScanWords)
scanner.Scan()
n, _ := strconv.Atoi(scanner.Text())
scanner.Scan()
m, _ := strconv.Atoi(scanner.Text())
a := make([]int64, n)
for i := 0; i < n; i++ {
scanner.Scan()
a[i], _ = strconv.ParseInt(scanner.Text(), 0, 64)
}
auctionIdx := make([]int, m)
for i := 0; i < m; i++ {
scanner.Scan()
auctionIdx[i], _ = strconv.Atoi(scanner.Text())
}
var R int64 = 0
isAuc := make([]bool, n+1)
for _, b := range auctionIdx {
isAuc[b] = true
}
for i := 1; i <= n; i++ {
if !isAuc[i] {
R += a[i-1]
}
}
t := make([]int64, m)
for i := 0; i < m; i++ {
t[i] = a[auctionIdx[i]-1]
}
sort.Slice(t, func(i, j int) bool { return t[i] < t[j] })
var ans int64 = 0
for d := 0; d <= m; d++ {
var sumAdd int64 = 0
for j := d; j < m; j++ {
sumAdd += t[j]
}
var base int64 = R + sumAdd
var curr int64 = base
ok := true
for k := 1; k <= d; k++ {
if curr <= t[k-1] {
ok = false
break
}
if k < d {
curr *= 2
}
}
if ok {
var power int64 = 1 << uint(d)
var sc int64 = base * power
if sc > ans {
ans = sc
}
}
}
fmt.Println(ans)
}
```