#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(); v[u] = true; cnt++; m = sg[u]; for (i=(m%2==0 ? u : u+1); i<=u+m; i+=2) { if (i>=n) continue; if (v[i]==true) continue; q.push(i); } } if (u!=sg.size()-1) {cout << -1 << endl;} else {cout << cnt << endl;} return 0; }