Um jogo é jogado por dois jogadores. Antes do jogo começar, um número n é escolhido. Um contador c começa em 0. A cada turno, o jogador escolhe um número de 1 an (inclusive) e aumenta c por esse número. O valor resultante de c deve ser um membro de S. Se não houver mais movimentos válidos, o jogador perde.
Por exemplo: Seja n = 5. c começa em 0. O jogador 1 escolhe 4, então c se torna 0 + 4 = 4. O jogador 2 escolhe 5, então c se torna 4 + 5 = 9. O jogador 1 escolhe 3, então c se torna 9 + 3 = 12. etc. Note que c deve sempre pertencer a S, e cada jogador pode aumentar c no máximo n.
Seja M (n) o maior número que o primeiro jogador pode escolher em seu primeiro turno para forçar uma vitória, e M (n) = 0 se não houver tal movimento. Por exemplo, M (2) = 2, M (7) = 1 e M (20) = 4.
Dado Σ (M (n)) 3 = 8150 para 1 ≤ n ≤ 20.
Encontre Σ (M (n)) 3 para 1 ≤ n ≤ 1000.
euler391()
deve retornar 61029882288.
testString: 'assert.strictEqual(euler391(), 61029882288, "euler391()
should return 61029882288.");'
```