human
Solve in Python:
Given an array of integers A with even length, return true if and only if it is possible to reorder it such that A[2 * i + 1] = 2 * A[2 * i] for every 0 <= i < len(A) / 2.





 
Example 1:
Input: A = [3,1,3,6]
Output: false

Example 2:
Input: A = [2,1,2,6]
Output: false

Example 3:
Input: A = [4,-2,2,-4]
Output: true
Explanation: We can take two groups, [-2,-4] and [2,4] to form [-2,-4,2,4] or [2,4,-2,-4].

Example 4:
Input: A = [1,2,4,16,8,4]
Output: false

 
Constraints:

0 <= A.length <= 3 * 104
A.length is even.
-105 <= A[i] <= 105
assistant
#Here is the Python program you requested.

class Solution:
    def canReorderDoubled(self, A: List[int]) -> bool:
        count = collections.Counter(A)
        for a in sorted(count, key = lambda x: abs(x)):
            if count[a] > count[2 * a]:
                return False
            count[2 * a] -= count[a]
        return True