For problem statement at 1000-1999/1300-1399/1390-1399/1392/problemD.txt this is a correct solution, but verifier at 1000-1999/1300-1399/1390-1399/1392/verifierD.go ends with Wrong Answer
Expected:
1
1
4
1
3
1
3
2
0
2
3
1
0
0
3
4
1
1
2
2
1
2
0
4
4
3
1
0
3
2
4
3
1
2
3
3
1
1
2
4
3
0
3
2
1
4
2
2
4
2
2
0
2
1
1
3
0
3
0
1
3
0
1
5
3
0
3
3
2
1
1
0
4
1
0
1
1
4
2
4
3
1
3
2
4
2
1
2
2
2
3
2
1
2
1
0
4
2
2
0
Got:
1
1
2
1
2
1
1
0
1
2
1
1
0
1
1
2
0
0
2
1
1
1
1
3
2
1
0
0
1
1
1
2
1
1
1
1
1
0
1
2
1
0
1
0
0
1
0
1
3
2
0
0
1
1
0
2
0
1
0
0
1
1
1
3
1
0
1
1
1
1
1
1
2
1
0
0
1
3
1
1
0
1
2
1
1
2
1
1
1
0
1
1
1
1
1
1
1
1
0
1
exit status 1 can you fix the verifier? ```go
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
in := bufio.NewReader(os.Stdin)
out := bufio.NewWriter(os.Stdout)
defer out.Flush()
var t int
fmt.Fscan(in, &t)
for ; t > 0; t-- {
var n int
var s string
fmt.Fscan(in, &n)
fmt.Fscan(in, &s)
allSame := true
for i := 1; i < n; i++ {
if s[i] != s[0] {
allSame = false
break
}
}
if allSame {
fmt.Fprintln(out, (n+2)/3)
continue
}
start := 0
for i := 0; i < n; i++ {
if s[i] != s[(i+1)%n] {
start = (i + 1) % n
break
}
}
ans := 0
run := 1
for j := 1; j < n; j++ {
prev := (start + j - 1) % n
curr := (start + j) % n
if s[curr] == s[prev] {
run++
} else {
ans += run / 3
run = 1
}
}
ans += run / 3
fmt.Fprintln(out, ans)
}
}
```