#include<iostream>
using namespace std;
int main() {
int num;
while (cin >> num) {
if (num == 1 || num == 2) cout << -1 << endl;
else if (num & 1) cout << 2 << endl;
else if (num % 4) cout << 4 << endl;
else cout << 3 << endl;
}
return 0;
}
import java.util.Scanner;
public class Main {
public static int findFirstEven(int n) {
if (n == 1 || n == 2) return -1;
if (n % 2 == 1) return 2;
if (n % 4 != 0) return 4;
return 3;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
int n = sc.nextInt();
System.out.println(findFirstEven(n));
}
}
}
def find_first_even(n):
if n == 1 or n == 2:
return -1
if n % 2 == 1:
return 2
if n % 4 != 0:
return 4
return 3
while True:
try:
n = int(input())
print(find_first_even(n))
except EOFError:
break