← Home
For problem statement at 0-999/700-799/730-739/735/problemD.txt this is a correct solution, but verifier at 0-999/700-799/730-739/735/verifierD.go ends with All tests passed can you fix the verifier? package main

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

func isPrime(n int64) bool {
	if n < 2 {
		return false
	}
	if n == 2 || n == 3 {
		return true
	}
	if n%2 == 0 || n%3 == 0 {
		return false
	}
	for i := int64(5); i*i <= n; i += 6 {
		if n%i == 0 || n%(i+2) == 0 {
			return false
		}
	}
	return true
}

func main() {
	in := bufio.NewReader(os.Stdin)
	var n int64
	if _, err := fmt.Fscan(in, &n); err != nil {
		return
	}

	if isPrime(n) {
		fmt.Println(1)
		return
	}
	if n%2 == 0 {
		fmt.Println(2)
		return
	}
	if isPrime(n - 2) {
		fmt.Println(2)
		return
	}
	fmt.Println(3)
}