← Home
For problem statement at 1000-1999/1200-1299/1240-1249/1249/problemC1.txt this is a correct solution, but verifier at 1000-1999/1200-1299/1240-1249/1249/verifierC1.go ends with All 100 tests passed can you fix the verifier? ```go
package main

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

func smallestGoodNumber(n int) int {
	digits := []int{}
	temp := n
	for temp > 0 {
		digits = append(digits, temp%3)
		temp /= 3
	}

	for {
		leftmostTwo := -1
		for i := len(digits) - 1; i >= 0; i-- {
			if digits[i] == 2 {
				leftmostTwo = i
				break
			}
		}

		if leftmostTwo == -1 {
			break
		}

		pos := leftmostTwo + 1
		for pos < len(digits) && digits[pos] != 0 {
			pos++
		}

		if pos == len(digits) {
			digits = append(digits, 0)
		}

		digits[pos] = 1
		for i := 0; i < pos; i++ {
			digits[i] = 0
		}
	}

	result := 0
	power := 1
	for i := 0; i < len(digits); i++ {
		result += digits[i] * power
		power *= 3
	}
	return result
}

func main() {
	reader := bufio.NewReader(os.Stdin)
	writer := bufio.NewWriter(os.Stdout)
	defer writer.Flush()

	var q int
	fmt.Fscan(reader, &q)

	for i := 0; i < q; i++ {
		var n int
		fmt.Fscan(reader, &n)
		fmt.Fprintln(writer, smallestGoodNumber(n))
	}
}
```