RecNrCallerCalled120000710005326001835004393600863701497 ......... El número de teléfono de la persona que llama y el número llamado en el registro n son Caller (n) = S2n-1 y Called (n) = S2n donde S1,2,3, ... come del "Generador de Fibonacci Lagged":
Para 1 ≤ k ≤ 55, Sk = [100003 - 200003k + 300007k3] (módulo 1000000) Para 56 ≤ k, Sk = [Sk-24 + Sk-55] (módulo 1000000)
Si el Llamador (n) = Llamado (n), se supone que el usuario ha marcado incorrectamente y la llamada falla; De lo contrario la llamada es exitosa.
Desde el inicio de los registros, decimos que cualquier par de usuarios X e Y son amigos si X llama a Y o viceversa. De manera similar, X es amigo de un amigo de Z si X es amigo de Y e Y es amigo de Z; y así sucesivamente para cadenas más largas.
El número de teléfono del Primer Ministro es 524287. Después de cuántas llamadas exitosas, sin contar los errores de marcación, ¿el 99% de los usuarios (incluido el Primer Ministro) será un amigo, o un amigo de un amigo, etc., del Primer Ministro?
euler186()
debe devolver 2325629.
testString: 'assert.strictEqual(euler186(), 2325629, "euler186()
should return 2325629.");'
```