"""simple docstring"""


def 					__a   (		A      ):
     lowercase__				 =							[0] * len(A      )

     for i in range(1    ,				len(A      )      ):
          # use last results for better performance - dynamic programming
          lowercase__				 =							prefix_result[i - 1]
          while j > 0 and input_string[i] != input_string[j]:
               lowercase__				 =							prefix_result[j - 1]

          if input_string[i] == input_string[j]:
               j += 1
          lowercase__				 =							j

     return prefix_result







def 					__a   (		A      ):
     return max(prefix_function(A      )      )


if __name__ == "__main__":
 import doctest

 doctest.testmod()





"""simple docstring"""


from __future__ import annotations







def 					__a   (		A    ,				A      ):






     '''simple docstring'''



     if partitions <= 0:
          raise ValueError("partitions must be a positive number!"      )
     if partitions > number_of_bytes:
          raise ValueError("partitions can not > number_of_bytes!"      )
     lowercase__				 =							number_of_bytes // partitions
     lowercase__				 =							[]
     for i in range(A      ):
          lowercase__				 =							i * bytes_per_partition + 1
          lowercase__				 =							(
              number_of_bytes if i == partitions - 1 else (i + 1) * bytes_per_partition
          )
          allocation_list.append(f'''{start_bytes}-{end_bytes}'''      )
     return allocation_list


if __name__ == "__main__":
 import doctest

 doctest.testmod()




