






"""simple docstring"""





def     A(  snake_case_		):
       """simple docstring"""





       if not isinstance(snake_case_						,       snake_case_		):
              raise ValueError("Input series is not valid, valid series - [1, 2/3, 2]"		)
       if len(snake_case_		) == 0:
              raise ValueError("Input list must be a non empty list"		)
       if len(snake_case_		) == 1 and series[0] != 0:
              return True
       lowercase__:    str        =      []
       lowercase__:    Optional[int]        =      len(snake_case_		)
       for i in range(0						,       snake_case_		):
              if series[i] == 0:
                     raise ValueError("Input series cannot have 0 as an element"		)
              rec_series.append(1 / series[i]		)
       lowercase__:    Optional[int]        =      rec_series[1] - rec_series[0]
       for index in range(2						,       snake_case_		):
              if rec_series[index] - rec_series[index - 1] != common_diff:
                     return False
       return True






def     A(  snake_case_		):
       """simple docstring"""





       if not isinstance(snake_case_						,       snake_case_		):
              raise ValueError("Input series is not valid, valid series - [2, 4, 6]"		)
       if len(snake_case_		) == 0:
              raise ValueError("Input list must be a non empty list"		)
       lowercase__:    Optional[int]        =      0
       for val in series:
              answer += 1 / val
       return len(snake_case_		) / answer


if __name__ == "__main__":
  import doctest

  doctest.testmod()














"""simple docstring"""





UpperCamelCase			=      {
    """0""": 1,
    """1""": 1,
    """2""": 2,
    """3""": 6,
    """4""": 24,
    """5""": 1_20,
    """6""": 7_20,
    """7""": 50_40,
    """8""": 4_03_20,
    """9""": 36_28_80,
}

UpperCamelCase			=      {1_45: 1_45}

UpperCamelCase			=      {
    1_45: 0,
    1_69: 3,
    3_63_01: 3,
    14_54: 3,
    8_71: 2,
    4_53_61: 2,
    8_72: 2,
}






def     A(  snake_case_		):
       """simple docstring"""





       if n in CACHE_SUM_DIGIT_FACTORIALS:
              return CACHE_SUM_DIGIT_FACTORIALS[n]
       lowercase__:    Any        =      sum(DIGIT_FACTORIALS[let] for let in str(snake_case_		)		)
       lowercase__:    Optional[Any]        =      ret
       return ret






def     A(  snake_case_						,       snake_case_ = None		):
       """simple docstring"""





       lowercase__:    Optional[int]        =      previous or set()
       if n in CHAIN_LENGTH_CACHE:
              return CHAIN_LENGTH_CACHE[n]
       lowercase__:    Tuple        =      sum_digit_factorials(snake_case_		)
       if next_number in previous:
              lowercase__:    List[Any]        =      0
              return 0
       else:
              previous.add(snake_case_		)
              lowercase__:    Optional[int]        =      1 + chain_length(snake_case_						,       snake_case_		)
              lowercase__:    Any        =      ret
              return ret






def     A(  snake_case_ = 60						,       snake_case_ = 1000000		):
       """simple docstring"""





       return sum(1 for i in range(1						,       snake_case_		) if chain_length(snake_case_		) == num_terms		)


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






