For problem statement at 0-999/300-399/370-379/371/problemD.txt this is a correct solution, but verifier at 0-999/300-399/370-379/371/verifierD.go ends with All 100 tests passed. can you fix the verifier? ```go
package main
import (
"bufio"
"fmt"
"os"
)
const MAXN = 200005
var (
n int
a [MAXN]int64
water [MAXN]int64
parent [MAXN]int
)
func find(x int) int {
if x > n {
return x
}
if parent[x] == x {
return x
}
parent[x] = find(parent[x])
return parent[x]
}
func main() {
reader := bufio.NewReader(os.Stdin)
writer := bufio.NewWriter(os.Stdout)
defer writer.Flush()
fmt.Fscan(reader, &n)
for i := 1; i <= n; i++ {
fmt.Fscan(reader, &a[i])
parent[i] = i
}
parent[n+1] = n + 1
addWater := func(pos int, amount int64) {
p := find(pos)
for p <= n && amount > 0 {
space := a[p] - water[p]
if space <= amount {
amount -= space
water[p] = a[p]
// vessel p is full, union with p+1
parent[p] = p + 1
p = find(p + 1)
} else {
water[p] += amount
amount = 0
}
}
}
var m int
fmt.Fscan(reader, &m)
for i := 0; i < m; i++ {
var t int
fmt.Fscan(reader, &t)
if t == 1 {
var p int
var x int64
fmt.Fscan(reader, &p, &x)
addWater(p, x)
} else {
var k int
fmt.Fscan(reader, &k)
fmt.Fprintln(writer, water[k])
}
}
}
```