#include <bits/stdc++.h>
using namespace std;
void ga(int N, int *A) {
  for (int i(0); i < N; i++) scanf("%d", A + i);
}
long long S[100005];
int N, X[100005], K, a, L[100005];
set<int> T;
int main(void) {
  for (int k(1); k < 100005; k++) S[k] = S[k - 1] + k;
  for (int k(3); k < 100005; k++) {
    K = 1, T.clear();
    while (S[++K - 1] <= k) {
      a = (k - S[K - 1]) / K;
      if ((k - S[K - 1]) % K || !a) continue;
      T.insert(X[a - 1] ^ X[a + K - 1]);
      if (!(X[a - 1] ^ X[a + K - 1]) && !L[k]) L[k] = K;
    }
    a = 0;
    while (T.count(a)) ++a;
    X[k] = a ^ X[k - 1];
  }
  scanf("%d", &N);
  if (!L[N]) return puts("-1");
  printf("%d\n", L[N]);
  return 0;
}
