
'''simple docstring'''


def  __snake_case     (    _UpperCAmelCase					:       int):

   if p < 2:
      raise ValueError('''p should not be less than 2!''')
   elif p == 2:
      return True

   UpperCamelCase       =  4
   UpperCamelCase       =  (1 << p) - 1
   for _ in range(p - 2):
      UpperCamelCase       =  ((s * s) - 2) % m
   return s == 0


if __name__ == "__main__":
   print(lucas_lehmer_test(7))
   print(lucas_lehmer_test(11))







'''simple docstring'''


def  __snake_case     (    _UpperCAmelCase					:       list[list[float]]):
   UpperCamelCase       =  []
   for data in source_data:
      for i, el in enumerate(_UpperCAmelCase):
         if len(_UpperCAmelCase) < i + 1:
            data_lists.append([])
         data_lists[i].append(float(_UpperCAmelCase))
   return data_lists



def  __snake_case     (    _UpperCAmelCase					:       list[list[float]],      _UpperCAmelCase					:       list[int]):
   UpperCamelCase       =  []
   for dlist, weight in zip(_UpperCAmelCase,      _UpperCAmelCase):
      UpperCamelCase       =  min(_UpperCAmelCase)
      UpperCamelCase       =  max(_UpperCAmelCase)

      UpperCamelCase       =  []
      # for weight 0 score is 1 - actual score
      if weight == 0:
         for item in dlist:
            try:
               score.append(1 - ((item - mind) / (maxd - mind)))
            except ZeroDivisionError:
               score.append(1)

      elif weight == 1:
         for item in dlist:
            try:
               score.append((item - mind) / (maxd - mind))
            except ZeroDivisionError:
               score.append(0)

        # weight not 0 or 1
      else:
         UpperCamelCase       =  f'Invalid weight of {weight:f} provided'
         raise ValueError(_UpperCAmelCase)

      score_lists.append(_UpperCAmelCase)

   return score_lists



def  __snake_case     (    _UpperCAmelCase					:       list[list[float]]):
   UpperCamelCase       =  [0 for i in range(len(score_lists[0]))]

   for slist in score_lists:
      for j, ele in enumerate(_UpperCAmelCase):
         UpperCamelCase       =  final_scores[j] + ele

   return final_scores



def  __snake_case     (    _UpperCAmelCase					:       list[list[float]],      _UpperCAmelCase					:       list[int]):
   UpperCamelCase       =  get_data(_UpperCAmelCase)
   UpperCamelCase       =  calculate_each_score(_UpperCAmelCase,      _UpperCAmelCase)
   UpperCamelCase       =  generate_final_scores(_UpperCAmelCase)

   # append scores to source data
   for i, ele in enumerate(_UpperCAmelCase):
      source_data[i].append(_UpperCAmelCase)

   return source_data





