#include <bits/stdc++.h>
#define REP(a, b) for(int a = 0; a < b; a++)
#define FOR(i, a, b) for(int i = a; i <= b; i++)
#define mp make_pair
#define f first
#define s second
#define pb push_back
using namespace std;
typedef long long ll;
typedef pair<int, int> ii;
typedef pair<ll, ll> LL;
typedef vector<int> vi;
const ll INF = 1e9;
const ll MOD = 1e9 + 7;
const int MAXN = 1e5 + 100;
int n;
vector<ii> prime[MAXN];
int g[MAXN];
int x[MAXN];
int mv[MAXN];
void pre() {
FOR(i, 1, 100000) {
int sek = i;
int bat = sqrt(i);
FOR(j, 1, bat) {
if (i % j == 0) {
int a = j;
int b = i / j;
if (a % 2 == 1 || b % 2 == 1) {
prime[i].pb(mp(a, b));
}
}
}
}
}
int main() {
//freopen("input.txt", "r", stdin);
//freopen("output.txt", "w", stdout);
ios::sync_with_stdio(0); cin.tie(0);
REP(i, MAXN) mv[i] = INF;
cin >> n;
pre();
g[0] = g[1] = g[2] = 0;
x[0] = g[0]; x[1] = x[0] ^ g[1]; x[2] = x[1] ^ g[2];
FOR(i, 3, n) {
unordered_set<int> st;
REP(j, prime[i].size()) {
int a = prime[i][j].f, b = prime[i][j].s;
if (i == n) cout << a << ' ' << b << "eA\n";
if (a % 2 == 1) {
int x1 = a, x2 = b * 2;
if (x1 < x2) swap(x1, x2);
int besar = (x1 + x2 - 1) / 2, kecil = (x1 - x2 - 1) / 2;
if (i == n) cout << besar << ' ' << kecil << ' ' << (x[besar] ^ x[kecil]) << " 1MANTA\n";
if (besar - kecil >= 2) {
st.insert(x[besar] ^ x[kecil]);
if (i == n)cout << (x[besar] ^ x[kecil]) << " COBA\n";
if ((x[besar] ^ x[kecil]) == 0 && besar - kecil < mv[i]) {
if (i == n) cout << (x[besar] ^ x[kecil]) << " COBAe\n";
mv[i] = besar - kecil;
}
}
}
if (a != b){
if (b % 2 == 1) {
int x1 = b, x2 = a * 2;
if (x1 < x2) swap(x1, x2);
int besar = (x1 + x2 - 1) / 2, kecil = (x1 - x2 - 1) / 2;
if (i == n) cout << besar << ' ' << kecil << ' ' << (x[besar] ^ x[kecil]) << " MANTA\n";
if (besar - kecil >= 2) {
st.insert(x[besar] ^ x[kecil]);
if (i == n) cout << (x[besar] ^ x[kecil]) << " COBA\n";
if ((x[besar] ^ x[kecil]) == 0 && besar - kecil < mv[i]) {
if (i == n) cout << (x[besar] ^ x[kecil]) << " COBAe\n";
mv[i] = besar - kecil;
}
}
}
}
}
int now = 0;
while(st.find(now) != st.end()) now++;
g[i] = now;
x[i] = x[i - 1] ^ g[i];
}
if (g[n] == 0) cout << -1 << '\n';
else cout << mv[n] << '\n';
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgUkVQKGEsIGIpIGZvcihpbnQgYSA9IDA7IGEgPCBiOyBhKyspCiNkZWZpbmUgRk9SKGksIGEsIGIpIGZvcihpbnQgaSA9IGE7IGkgPD0gYjsgaSsrKQojZGVmaW5lIG1wIG1ha2VfcGFpcgojZGVmaW5lIGYgZmlyc3QKI2RlZmluZSBzIHNlY29uZAojZGVmaW5lIHBiIHB1c2hfYmFjawp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdHlwZWRlZiBsb25nIGxvbmcgbGw7CnR5cGVkZWYgcGFpcjxpbnQsIGludD4gaWk7CnR5cGVkZWYgcGFpcjxsbCwgbGw+IExMOwp0eXBlZGVmIHZlY3RvcjxpbnQ+IHZpOwoKY29uc3QgbGwgSU5GID0gMWU5Owpjb25zdCBsbCBNT0QgPSAxZTkgKyA3Owpjb25zdCBpbnQgTUFYTiA9IDFlNSArIDEwMDsKCmludCBuOwp2ZWN0b3I8aWk+IHByaW1lW01BWE5dOwppbnQgZ1tNQVhOXTsKaW50IHhbTUFYTl07CmludCBtdltNQVhOXTsKCnZvaWQgcHJlKCkgewoJRk9SKGksIDEsIDEwMDAwMCkgewoJCWludCBzZWsgPSBpOwoJCWludCBiYXQgPSBzcXJ0KGkpOwoJCUZPUihqLCAxLCBiYXQpIHsKCQkJaWYgKGkgJSBqID09IDApIHsKCQkJCWludCBhID0gajsKCQkJCWludCBiID0gaSAvIGo7CgkJCQlpZiAoYSAlIDIgPT0gMSB8fCBiICUgMiA9PSAxKSB7CgkJCQkJcHJpbWVbaV0ucGIobXAoYSwgYikpOwoJCQkJfQoJCQl9CgkJfQoJfQp9CgppbnQgbWFpbigpIHsKCS8vZnJlb3BlbigiaW5wdXQudHh0IiwgInIiLCBzdGRpbik7CgkvL2ZyZW9wZW4oIm91dHB1dC50eHQiLCAidyIsIHN0ZG91dCk7Cglpb3M6OnN5bmNfd2l0aF9zdGRpbygwKTsgY2luLnRpZSgwKTsKCVJFUChpLCBNQVhOKSBtdltpXSA9IElORjsKCWNpbiA+PiBuOwoJcHJlKCk7CglnWzBdID0gZ1sxXSA9IGdbMl0gPSAwOwoJeFswXSA9IGdbMF07IHhbMV0gPSB4WzBdIF4gZ1sxXTsgeFsyXSA9IHhbMV0gXiBnWzJdOwoJRk9SKGksIDMsIG4pIHsKCQl1bm9yZGVyZWRfc2V0PGludD4gc3Q7CgkJUkVQKGosIHByaW1lW2ldLnNpemUoKSkgewoJCQlpbnQgYSA9IHByaW1lW2ldW2pdLmYsIGIgPSBwcmltZVtpXVtqXS5zOwoJCQlpZiAoaSA9PSBuKSBjb3V0IDw8IGEgPDwgJyAnIDw8IGIgPDwgImVBXG4iOwoJCQlpZiAoYSAlIDIgPT0gMSkgewoJCQkJaW50IHgxID0gYSwgeDIgPSBiICogMjsKCQkJCWlmICh4MSA8IHgyKSBzd2FwKHgxLCB4Mik7CgkJCQlpbnQgYmVzYXIgPSAoeDEgKyB4MiAtIDEpIC8gMiwga2VjaWwgPSAoeDEgLSB4MiAtIDEpIC8gMjsKCQkJCWlmIChpID09IG4pIGNvdXQgPDwgYmVzYXIgPDwgJyAnIDw8IGtlY2lsIDw8ICcgJyA8PCAoeFtiZXNhcl0gXiB4W2tlY2lsXSkgPDwgIiAxTUFOVEFcbiI7CgkJCQlpZiAoYmVzYXIgLSBrZWNpbCA+PSAyKSB7CgkJCQkJc3QuaW5zZXJ0KHhbYmVzYXJdIF4geFtrZWNpbF0pOwoJCQkJCWlmIChpID09IG4pY291dCA8PCAoeFtiZXNhcl0gXiB4W2tlY2lsXSkgPDwgIiBDT0JBXG4iOwoJCQkJCWlmICgoeFtiZXNhcl0gXiB4W2tlY2lsXSkgPT0gMCAmJiBiZXNhciAtIGtlY2lsIDwgbXZbaV0pIHsKCQkJCQkJaWYgKGkgPT0gbikgY291dCA8PCAoeFtiZXNhcl0gXiB4W2tlY2lsXSkgPDwgIiBDT0JBZVxuIjsKCQkJCQkJbXZbaV0gPSBiZXNhciAtIGtlY2lsOwoJCQkJCX0KCQkJCX0KCQkJfQoJCQlpZiAoYSAhPSBiKXsKCQkJCWlmIChiICUgMiA9PSAxKSB7CgkJCQkJaW50IHgxID0gYiwgeDIgPSBhICogMjsKCQkJCQlpZiAoeDEgPCB4Mikgc3dhcCh4MSwgeDIpOwoJCQkJCWludCBiZXNhciA9ICh4MSArIHgyIC0gMSkgLyAyLCBrZWNpbCA9ICh4MSAtIHgyIC0gMSkgLyAyOwoJCQkJCWlmIChpID09IG4pIGNvdXQgPDwgYmVzYXIgPDwgJyAnIDw8IGtlY2lsIDw8ICcgJyA8PCAoeFtiZXNhcl0gXiB4W2tlY2lsXSkgPDwgIiBNQU5UQVxuIjsKCQkJCQlpZiAoYmVzYXIgLSBrZWNpbCA+PSAyKSB7CgkJCQkJCXN0Lmluc2VydCh4W2Jlc2FyXSBeIHhba2VjaWxdKTsKCQkJCQkJaWYgKGkgPT0gbikgY291dCA8PCAoeFtiZXNhcl0gXiB4W2tlY2lsXSkgPDwgIiBDT0JBXG4iOwoJCQkJCQlpZiAoKHhbYmVzYXJdIF4geFtrZWNpbF0pID09IDAgJiYgYmVzYXIgLSBrZWNpbCA8IG12W2ldKSB7CgkJCQkJCQlpZiAoaSA9PSBuKSBjb3V0IDw8ICh4W2Jlc2FyXSBeIHhba2VjaWxdKSA8PCAiIENPQkFlXG4iOwoJCQkJCQkJbXZbaV0gPSBiZXNhciAtIGtlY2lsOwoJCQkJCQl9CQoJCQkJCX0KCQkJCX0JCgkJCX0KCQl9CgkJaW50IG5vdyA9IDA7CgkJd2hpbGUoc3QuZmluZChub3cpICE9IHN0LmVuZCgpKSBub3crKzsKCQlnW2ldID0gbm93OwoJCXhbaV0gPSB4W2kgLSAxXSBeIGdbaV07Cgl9CglpZiAoZ1tuXSA9PSAwKSBjb3V0IDw8IC0xIDw8ICdcbic7CgllbHNlIGNvdXQgPDwgbXZbbl0gPDwgJ1xuJzsKfQ==