#include <iostream>
#include <vector>
using namespace std;
/*
思路:
1
1 1 1
1 2 3 2 1
1 3 6 7 6 3 1
1 4 10 16 19 16 10 4 1
1 5 15 30
1 6 21
1 7 28
1 8 36
当n==1或2,则index = -1;
当n==3,则index = 2;
当n==4,则index = 3;
当n==5,则index = 2;
当n==6,则index = 4;
当n==7,则index = 2;
当n==8,则index = 3;
当n==9,则index = 2;
根据以上规律,当n==1或2,则index = -1; 当n % 4 == 3 || n % 4 == 1,则输出2; 当n%4 == 0,则输出3;其他输出4
*/
int FindIndexFromTraingle(int n)
{
if (n == 1 || n == 2) {
return -1;
} else if (n % 4 == 3 || n % 4 == 1) {
return 2;
} else if (n % 4 == 0) {
return 3;
} else if (n % 4 == 2) {
return 4;
}
return 0;
}
int main()
{
int n;
while(cin>>n) {
cout<<FindIndexFromTraingle(n)<<endl;
}
}