Удерживая баланс
Просмотр в формате 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^40 <= b, c, d <= 10^18
Пример
Входные данные
4
1 0 1
0 1 0
3 3 0
4 6 2
Выходные данные
0
0
3
-1
Комментарии