Given an integer array input_array and an integer sum_target, return a list of all unique quadruplets [input_array[i], input_array[j], input_array[k], input_array[l]] such that 0 <= i, j, k, l < len(input_array), i, j, k, l are distinct, and input_array[i] + input_array[j] + input_array[k] + input_array[l] == sum_target. The order of quadruplets in the output does not matter.
Example 1
Input: input_array = [3, 1, 2, 0, -1, -2], sum_target = 2
Output: [[0,1,3,-2],[0,2,3,-3],[1,2,0,-1]]
Explanation: Quadruplets that sum to 2 are shown.
Example 2
Input: input_array = [5, 5, 5, 5, 5], sum_target = 20
Output: [[5,5,5,5]]
Explanation: Only one quadruplet possible.
Constraints
Case 1
Input: input_array = [4, 0, -4, 2, -2, 1], sum_target = 2
Expected: [[-4,0,4,2],[-2,0,4,0],[-2,1,2,1]]
Case 2
Input: input_array = [1, 1, 1, 1], sum_target = 4
Expected: [[1,1,1,1]]
Case 3
Input: input_array = [10, -10, 0, 5, -5], sum_target = 0
Expected: [[-10,-5,5,10],[-10,0,5,5],[-5,0,5,0]]