← Home
For problem statement at 1000-1999/1900-1999/1980-1989/1989/problemE.txt this is a correct solution, but verifier at 1000-1999/1900-1999/1980-1989/1989/verifierE.go ends with case 8 failed
expected: 0
got: 1

exit status 1 can you fix the verifier? ```go
package main

import (
	"bufio"
	"fmt"
	"os"
)

const MOD int64 = 998244353

func main() {
	in := bufio.NewReaderSize(os.Stdin, 1<<20)
	out := bufio.NewWriterSize(os.Stdout, 1<<20)
	defer out.Flush()

	var n, k int
	fmt.Fscan(in, &n, &k)

	K := k - 1

	var dp0, dp1, dp2 [11]int64
	dp0[0] = 1

	for i := 0; i < n; i++ {
		var ndp0, ndp1, ndp2 [11]int64
		for t := 0; t <= K; t++ {
			if dp0[t] != 0 {
				ndp0[t] += dp0[t]
				if ndp0[t] >= MOD {
					ndp0[t] -= MOD
				}
				ndp1[t] += dp0[t]
				if ndp1[t] >= MOD {
					ndp1[t] -= MOD
				}
			}
			if dp1[t] != 0 {
				nt := t + 1
				if nt > K {
					nt = K
				}
				ndp2[nt] += dp1[t]
				if ndp2[nt] >= MOD {
					ndp2[nt] -= MOD
				}
			}
			if dp2[t] != 0 {
				ndp0[t] += dp2[t]
				if ndp0[t] >= MOD {
					ndp0[t] -= MOD
				}
				nt := t + 1
				if nt > K {
					nt = K
				}
				ndp2[nt] += dp2[t]
				if ndp2[nt] >= MOD {
					ndp2[nt] -= MOD
				}
			}
		}
		dp0, dp1, dp2 = ndp0, ndp1, ndp2
	}

	ans := dp0[K] + dp2[K]
	if ans >= MOD {
		ans -= MOD
	}

	fmt.Fprint(out, ans)
}
```