#include <bits/stdc++.h>
const int maxn = 100005;
int sum[maxn], pnt[maxn], mex[maxn], n;
int getsg(int x) {
  for (int i = 2; i * (i - 1) / 2 < x; i++) {
    int t = x - i * (i - 1) / 2;
    if (t % i) continue;
    int st = t / i, ed = st + i - 1, p = sum[ed] ^ sum[st - 1];
    mex[p] = x;
    if (!p && !pnt[x]) pnt[x] = i;
  }
  for (int i = 0; i < x; i++) {
    if (mex[i] != x) return i;
  }
  return x;
}
int main() {
  scanf("%d", &n);
  for (int i = 3; i < n; i++) sum[i] = sum[i - 1] ^ getsg(i);
  if (!getsg(n))
    printf("-1\n");
  else
    printf("%d\n", pnt[n]);
  return 0;
}
