← Home
For problem statement at 0-999/500-599/550-559/553/problemB.txt this is a correct solution, but verifier at 0-999/500-599/550-559/553/verifierB.go ends with All 100 tests passed can you fix the verifier? ```go
package main

import "fmt"

func main() {
	var n int
	var k uint64
	fmt.Scan(&n, &k)
	
	dp := make([]uint64, n+1)
	dp[0] = 1
	if n > 0 {
		dp[1] = 1
	}
	for i := 2; i <= n; i++ {
		dp[i] = dp[i-1] + dp[i-2]
	}
	
	res := make([]int, 0, n)
	pos := 1
	rem := n
	
	for rem > 0 {
		if rem == 1 {
			res = append(res, pos)
			break
		}
		if k <= dp[rem-1] {
			res = append(res, pos)
			pos++
			rem--
		} else {
			res = append(res, pos+1)
			res = append(res, pos)
			k -= dp[rem-1]
			pos += 2
			rem -= 2
		}
	}
	
	for i, v := range res {
		if i > 0 {
			fmt.Print(" ")
		}
		fmt.Print(v)
	}
	fmt.Println()
}
```