CF1851B Parity Sort

Description

You have an array of integers $ a $ of length $ n $ . You can apply the following operation to the given array: - Swap two elements $ a_i $ and $ a_j $ such that $ i \neq j $ , $ a_i $ and $ a_j $ are either both even or both odd. Determine whether it is possible to sort the array in non-decreasing order by performing the operation any number of times (possibly zero). For example, let $ a $ = \[ $ 7, 10, 1, 3, 2 $ \]. Then we can perform $ 3 $ operations to sort the array: 1. Swap $ a_3 = 1 $ and $ a_1 = 7 $ , since $ 1 $ and $ 7 $ are odd. We get $ a $ = \[ $ 1, 10, 7, 3, 2 $ \]; 2. Swap $ a_2 = 10 $ and $ a_5 = 2 $ , since $ 10 $ and $ 2 $ are even. We get $ a $ = \[ $ 1, 2, 7, 3, 10 $ \]; 3. Swap $ a_4 = 3 $ and $ a_3 = 7 $ , since $ 3 $ and $ 7 $ are odd. We get $ a $ = \[ $ 1, 2, 3, 7, 10 $ \].

Input Format

The first line of input data contains a single integer $ t $ ( $ 1 \le t \le 10^4 $ ) — the number of test cases. The description of the test cases follows. The first line of each test case contains one integer $ n $ ( $ 1 \le n \le 2 \cdot 10^5 $ ) — the length of array $ a $ . The second line of each test case contains exactly $ n $ positive integers $ a_1, a_2, \dots, a_n $ ( $ 1 \le a_i \le 10^9 $ ) — the elements of array $ a $ . It is guaranteed that the sum of $ n $ over all test cases does not exceed $ 2 \cdot 10^5 $ .

Output Format

For each test case, output on a separate line: - YES if the array can be sorted by applying the operation to it some number of times; - NO otherwise. You can output YES and NO in any case (for example, strings yEs, yes, Yes and YES will be recognized as positive response).

Explanation/Hint

The first test case is explained in the problem statement.