'''simple docstring'''


import itertools
from pathlib import Path


def    _lowerCamelCase       ( lowerCamelCase_   :				list[str]  ):



     """simple docstring"""





     UpperCAmelCase_				:  Any  = [tuple(lowerCamelCase_  ) for login in logins]

     UpperCAmelCase_				:  List[str]  = {char for login in split_logins for char in login}

     for permutation in itertools.permutations(lowerCamelCase_  ):
          UpperCAmelCase_				:  Optional[Any]  = True
          for login in logins:
               if not (
                   permutation.index(login[0]  )
                   < permutation.index(login[1]  )
                   < permutation.index(login[2]  )
               ):
                    UpperCAmelCase_				:  List[str]  = False
                    break

          if satisfied:
               return int(''.join(lowerCamelCase_  )  )

     raise Exception('Unable to find the secret passcode'  )


def    _lowerCamelCase       ( lowerCamelCase_   :				str = "keylog.txt"  ):



     """simple docstring"""





     UpperCAmelCase_				:  Optional[Any]  = Path(lowerCamelCase_  ).parent.joinpath(lowerCamelCase_  ).read_text().splitlines()

     return find_secret_passcode(lowerCamelCase_  )


if __name__ == "__main__":
 print(f'''{solution() = }''')












import math
from timeit import timeit





def 							lowerCamelCase    (							UpperCAmelCase_	:      int      )->			int:

       """simple docstring"""




       a			   =0
       a			   =abs(UpperCAmelCase_      )
       while True:
              a			   =n // 10
              digits += 1
              if n == 0:
                     break
       return digits





def 							lowerCamelCase    (							UpperCAmelCase_	:      int      )->			int:

       """simple docstring"""




       return 1 if n == 0 else math.floor(math.log(abs(UpperCAmelCase_      )   ,       10      ) + 1      )





def 							lowerCamelCase    (							UpperCAmelCase_	:      int      )->			int:

       """simple docstring"""




       return len(str(abs(UpperCAmelCase_      )      )      )





def 							lowerCamelCase    (							)->			None:

       """simple docstring"""




       from collections.abc import Callable

       def benchmark_a_function(UpperCAmelCase_	:      Callable   ,       UpperCAmelCase_	:      int      ) -> None:
              a			   =F'''{func.__name__}({value})'''
              a			   =timeit(F'''__main__.{call}'''   ,       setup="""import __main__"""      )
              print(F'''{call}: {func(UpperCAmelCase_      )} -- {timing} seconds'''      )

       for value in (26_2144, 1125_8999_0684_2624, 126_7650_6002_2822_9401_4967_0320_5376):
              for func in (num_digits, num_digits_fast, num_digits_faster):
                     benchmark_a_function(UpperCAmelCase_   ,       UpperCAmelCase_      )
              print()


if __name__ == "__main__":
    import doctest

    doctest.testmod()
    benchmark()
