#include <bits/stdc++.h>
using namespace std;
int f[1000010];
int solve(int n) {
  if (f[n] != -1) return f[n];
  f[n] = 0;
  int visit[1010];
  memset(visit, 0, sizeof(visit));
  int i, j;
  for (i = 2;; i++) {
    if (n <= i * (i - 1) / 2) break;
    if ((n - i * (i - 1) / 2) % i) continue;
    int ans = 0, tmp = (n - i * (i - 1) / 2) / i;
    for (j = 0; j < i; j++) ans ^= solve(tmp + j);
    visit[ans] = 1;
  }
  for (i = 0;; i++)
    if (!visit[i]) return f[n] = i;
}
int main() {
  int n, i, j;
  memset(f, -1, sizeof(f));
  scanf("%d", &n);
  int flag = 0;
  for (i = 2;; i++) {
    if (n <= i * (i - 1) / 2) break;
    if ((n - i * (i - 1) / 2) % i) continue;
    int ans = 0, tmp = (n - i * (i - 1) / 2) / i;
    for (j = 0; j < i; j++) ans ^= solve(tmp + j);
    if (!ans) {
      flag = 1;
      break;
    }
  }
  if (flag)
    printf("%d\n", i);
  else
    printf("-1\n");
  return 0;
}
