code: def test_array_sum_combinations(self):
      A = [1, 2, 3, 3]
      B = [2, 3, 3, 4]
      C = [2, 3, 3, 4]
      target = 7
      answer = [
          [1, 2, 4],
          [1, 3, 3],
          [1, 3, 3],
          [1, 3, 3],
          [1, 3, 3],
          [1, 4, 2],
          [2, 2, 3],
          [2, 2, 3],
          [2, 3, 2],
          [2, 3, 2],
          [3, 2, 2],
          [3, 2, 2],
      ]
      answer.sort()
      self.assertListEqual(
          sorted(array_sum_combinations(A, B, C, target)), answer
      )
  
imports: from algorithms.backtrack import add_operators, permute_iter, anagram, array_sum_combinations, unique_array_sum_combinations, combination_sum, get_factors, recursive_get_factors, find_words, generate_abbreviations, generate_parenthesis_v1, generate_parenthesis_v2, letter_combinations, palindromic_substrings, pattern_match, permute_unique, permute, permute_recursive, subsets_unique, subsets, subsets_v2
  import unittest
label_desc: Use image node_id 1 for calling the TestArrayCombinationSum obj's underlying member method code with example usage: obj.test_array_sum_combinations() without return types