input: Write a python function to detect plagiarism using Levenshtein similarity.
  assert detect_plagiarism("hello world", "hello world!") == "The texts have high similarity"
  assert detect_plagiarism("The quick brown fox", "The quick brown dog") == "The texts have moderate similarity"
  assert detect_plagiarism("abc", "xyz") == "The texts have low similarity"
output: def detect_plagiarism(text1, text2):
      def levenshtein_distance(s1, s2):
          if len(s1) < len(s2):
              return levenshtein_distance(s2, s1)
          
          if len(s2) == 0:
              return len(s1)
          
          previous_row = range(len(s2) + 1)
          for i, c1 in enumerate(s1):
              current_row = [i + 1]
              for j, c2 in enumerate(s2):
                  insertions = previous_row[j + 1] + 1
                  deletions = current_row[j] + 1
                  substitutions = previous_row[j] + (c1 != c2)
                  current_row.append(min(insertions, deletions, substitutions))
              previous_row = current_row
          
          return previous_row[-1]
      
      distance = levenshtein_distance(text1, text2)
      max_len = max(len(text1), len(text2))
      similarity = 1 - distance / max_len
      
      if similarity >= 0.8:
          return "The texts have high similarity"
      elif similarity >= 0.4:
          return "The texts have moderate similarity"
      else:
          return "The texts have low similarity"