#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;
    }
    
}