an + 1 = an / 3 se an é divisível por 3. Vamos denotar isto como um grande passo descendente, "D".
an + 1 = (4an + 2) / 3 se um dividido por 3 der um resto de 1. Denotaremos isso como um passo para cima, "U".
an + 1 = (2an - 1) / 3 se um dividido por 3 der um resto de 2. Denotaremos isso como um pequeno passo descendente, "d".
A sequência termina quando alguns an = 1.
Dado qualquer inteiro, podemos listar a seqüência de etapas. Por exemplo, se a1 = 231, então a sequência {an} = {231,77,51,17,11,7,10,14,9,3,1} corresponde às etapas "DdDddUUdDD".
Claro, existem outras sequências que começam com a mesma sequência "DdDddUUdDD ....". Por exemplo, se a1 = 1004064, a sequência é DdDddUUdDDDdUDUUUdDdUUDDDUdDD. De fato, 1004064 é o menor possível a1> 106 que começa com a seqüência DdDddUUdDD.
Qual é o menor a1> 1015 que começa com a sequência "UDDDUdddDDUDDddDdDddDDUDDdUUDd"?
euler277()
deve retornar 1125977393124310.
testString: 'assert.strictEqual(euler277(), 1125977393124310, "euler277()
should return 1125977393124310.");'
```