Условие
Даны беззнаковое целое число value, номер бита k и код команды command. Выполните одну операцию: при команде 1 установите бит в 1, при команде 2 сбросьте его в 0, при команде 3 переключите его значение на противоположное. Все остальные биты должны сохраниться.
Используйте 32-битный unsigned int и побитовые операции. Маски формируйте в беззнаковом типе. Перевод числа в строку двоичных цифр не допускается.
Ограничения
Время: 2 секунды. Память: 64 МиБ. Вывод: до 2 МиБ. Стандарты: C11 / C++17.
Входные данные
Три числа в одной строке: value, k, command. Ограничения: 0 ≤ value ≤ 2³² − 1, 0 ≤ k ≤ 31, 1 ≤ command ≤ 3.
Выходные данные
Одно беззнаковое целое число в десятичной записи — результат изменения указанного бита.
Примеры
8 0 1
9
15 2 2
11
0 31 3
2147483648