Un juego es jugado por dos jugadores. Antes de que comience el juego, se elige un número n. Un contador c comienza en 0. En cada turno, el jugador elige un número de 1 a n (inclusive) y aumenta c en ese número. El valor resultante de c debe ser un miembro de S. Si no hay más movimientos válidos, el jugador pierde.
Por ejemplo: que n = 5. c comienza en 0. El jugador 1 elige 4, por lo que c se convierte en 0 + 4 = 4. El jugador 2 elige 5, por lo que c se convierte en 4 + 5 = 9. El jugador 1 elige 3, por lo que c se convierte en 9 + 3 = 12. etc. Tenga en cuenta que c siempre debe pertenecer a S, y cada jugador puede aumentar c en a lo sumo n.
Deje que M (n) sea el número más alto que el primer jugador puede elegir en su primer turno para forzar una victoria, y M (n) = 0 si no hay tal movimiento. Por ejemplo, M (2) = 2, M (7) = 1 y M (20) = 4.
Dado Σ (M (n)) 3 = 8150 para 1 ≤ n ≤ 20.
Encuentre Σ (M (n)) 3 para 1 ≤ n ≤ 1000.
euler391()
debe devolver 61029882288.
testString: 'assert.strictEqual(euler391(), 61029882288, "euler391()
should return 61029882288.");'
```