Удерживая баланс

Просмотр в формате PDF

Submit solution


Очки: 160
Ограничение по времени: 1.0s
Ограничение по памяти: 64M

Автор:
Problem types
Allowed languages
C++, Python

На складе цифровых модулей инженер настраивает новый балансировщик сигнала. Для некоторого неотрицательного целого числа a итоговый сигнал вычисляется по формуле:

[ (a ;|; b) - (a ;&; c) ]

Здесь:

  • | — побитовое ИЛИ,
  • & — побитовое И.

Инженеру известны числа b, c и желаемый итоговый сигнал d. Нужно определить, существует ли такое неотрицательное целое число a, что

[ (a ;|; b) - (a ;&; c) = d. ]

Если подходящее число a существует, выведите любое такое число. Иначе выведите -1.

Входные данные

Первая строка содержит одно целое число t — количество наборов входных данных.

Каждый набор входных данных содержит три неотрицательных целых числа b, c и d.

Выходные данные

Для каждого набора входных данных выведите:

  • любое подходящее неотрицательное целое число a, если оно существует;
  • число -1, если такого числа не существует.

Ограничения

  • 1 <= t <= 10^4
  • 0 <= b, c, d <= 10^18

Пример

Входные данные
4
1 0 1
0 1 0
3 3 0
4 6 2
Выходные данные
0
0
3
-1

Комментарии

Еще нет ни одного комментария.