CF1416C XOR Inverse

Description

You are given an array $ a $ consisting of $ n $ non-negative integers. You have to choose a non-negative integer $ x $ and form a new array $ b $ of size $ n $ according to the following rule: for all $ i $ from $ 1 $ to $ n $ , $ b_i = a_i \oplus x $ ( $ \oplus $ denotes the operation [bitwise XOR](https://en.wikipedia.org/wiki/Bitwise_operation#XOR)). An inversion in the $ b $ array is a pair of integers $ i $ and $ j $ such that $ 1 \le i < j \le n $ and $ b_i > b_j $ . You should choose $ x $ in such a way that the number of inversions in $ b $ is minimized. If there are several options for $ x $ — output the smallest one.

Input Format

N/A

Output Format

N/A

Explanation/Hint

In the first sample it is optimal to leave the array as it is by choosing $ x = 0 $ . In the second sample the selection of $ x = 14 $ results in $ b $ : $ [4, 9, 7, 4, 9, 11, 11, 13, 11] $ . It has $ 4 $ inversions: - $ i = 2 $ , $ j = 3 $ ; - $ i = 2 $ , $ j = 4 $ ; - $ i = 3 $ , $ j = 4 $ ; - $ i = 8 $ , $ j = 9 $ . In the third sample the selection of $ x = 8 $ results in $ b $ : $ [0, 2, 11] $ . It has no inversions.