public bool DivisorGame(int N)
{
int sum = 0;
while (true)
{
int r = DivisorGame_Impl(N);
if (r == 0) break;
sum++;
N = N - r;
}
return sum % 2 != 0;
}
int DivisorGame_Impl(int n)
{
if (n < 1) return 0;
if (n % 2 == 0)
{
if (n / 2 % 2 == 1) return n / 2;
return 1;
}
if (n == 1) return 0;
return 1;
}