#include #include #include #include #include using namespace std; int main() { int n; unsigned int t; cin >> n; vector sg(n); vector v(n, false); for (int i=0; i q; int i, u, m, cnt; q.push(0); u = 0; i = 0; m = 0; cnt = 0; while (!q.empty()) { u = q.front(); q.pop(); if (v[u]==false) { v[u] = true; cnt++; } if (v[v.size()-1]==true) break; m = sg[u]; for (i=(m%2==0 ? u : u+1); i<=u+m; i+=2) { if (i<0) continue; if (i>=v.size()) break; if (v[i]==true) continue; q.push(i); } } if (u != sg.size()-1) {cout << -1 << endl;} else {cout << cnt << endl;} return 0; }