an + 1 = an / 3 si an es divisible por 3. Denotaremos esto como un gran paso hacia abajo, "D".
an + 1 = (4an + 2) / 3 si dividido por 3 da un resto de 1. Denotaremos esto como un paso hacia arriba, "U".
an + 1 = (2an - 1) / 3 si dividido por 3 da un resto de 2. Denotaremos esto como un pequeño paso hacia abajo, "d".
La secuencia termina cuando algunos an = 1.
Dado cualquier entero, podemos enumerar la secuencia de pasos. Por ejemplo, si a1 = 231, entonces la secuencia {an} = {231,77,51,17,11,7,10,14,9,3,1} corresponde a los pasos "DdDddUUdDD".
Por supuesto, hay otras secuencias que comienzan con esa misma secuencia "DdDddUUdDD ....". Por ejemplo, si a1 = 1004064, entonces la secuencia es DdDddUUdDDDdUDUUUdDdUUDDDUdDD. De hecho, 1004064 es el a1> 106 más pequeño posible que comienza con la secuencia DdDddUUdDD.
¿Cuál es el a1> 1015 más pequeño que comienza con la secuencia "UDDDUdddDDUDDddDdDddDDUDDdUUDd"?
euler277()
debe devolver 1125977393124310.
testString: 'assert.strictEqual(euler277(), 1125977393124310, "euler277()
should return 1125977393124310.");'
```