Напишите программу, переключающую с \(k\)-го по \(l\)-й (включительно) биты числа \(n\). Нумерация бит ведётся справа налево, начиная с нуля.
Формат входных данных
На ввод в одной строке через пробел подаются три целых числа: \(n\), \(k\), \(l\).
Гарантируется, что \(0\leqslant n<2^{31}\), \(0\leqslant k\leqslant l\leqslant 30\).
Формат выходных данных
Программа должна вывести число, полученное после описанной выше замены бит в числе \(n\).
Замечание
В приведённом примере число 34 представляется в двоичном виде как 100010. Переключив биты с первого по третий, получим 101100, что является двоичным кодом числа 44.
Запрещенные операторы: +; *; /; %
Примеры
| № | Входные данные | Выходные данные |
|
1
|
34 1 3
|
44
|