Нещодавно наш тренер Етібар винайшов нову побітову операцію, схожу на зворотну операцію xor, і назвав її анти-xor. Тепер він пропонує вам задачу, пов'язану з цим винаходом, яка включає обробку запитів. Символ для анти-xor - це #.
Вам дано чисел. Необхідно виконати такі операції над цими цілими числами:
1) Застосувати анти-xor до цілого числа в діапазоні від до . Цей запит записується як "1 L R X".
2) Вивести суму всіх чисел у діапазоні від до . Цей запит записується як "2 L R".
Вважаємо, що всі числа є -бітними цілими числами, тому операція анти-xor виконується на останніх бітах.
Вам надано ціле число (1 \le N \le 100000). У другому рядку наведено цілих чисел (0 \le A_i \le 10^6). Наступний рядок містить кількість запитів (1 \le Q \le 100000). Кожен з наступних рядків містить один запит у вказаних вище формах.
Для кожного запиту типу "2 L R" виведіть у окремому рядку суму всіх цілих чисел у діапазоні від до .
Приклад 1