For problem statement at 0-999/500-599/570-579/571/problemA.txt this is a correct solution, but verifier at 0-999/500-599/570-579/571/verifierA.go ends with All tests passed can you fix the verifier? ```go
package main
import (
"fmt"
)
func main() {
var a, b, c, l int64
fmt.Scan(&a, &b, &c, &l)
total := (l + 1) * (l + 2) * (l + 3) / 6
bad1 := calc(c-a-b, l)
bad2 := calc(b-a-c, l)
bad3 := calc(a-b-c, l)
fmt.Println(total - bad1 - bad2 - bad3)
}
func calc(k, l int64) int64 {
if k < -l {
return 0
}
if k >= l {
return (l + 1) * (l + 2) * (l + 3) / 6
}
M := k
if l < M {
M = l
}
S1 := (l+1)*sum1(M) - sum2(M)
A := k + 1
if A < 0 {
A = 0
}
B := (l + k + 1) / 2
if l < B {
B = l
}
if A > B {
return S1
}
C := l + k + 1
S2 := C*(sum1(B)-sum1(A-1)) - 2*(sum2(B)-sum2(A-1))
return S1 + S2
}
func sum1(n int64) int64 {
if n < 0 {
return 0
}
return (n + 1) * (n + 2) / 2
}
func sum2(n int64) int64 {
if n < 0 {
return 0
}
return n * (n + 1) * (n + 2) / 3
}
```