Олимпиадный тренинг

Задача . C. Boboniu и битовые операции


Boboniu нравятся битовые операции, он решил поиграть с вами в игру.

Boboniu дает вам две последовательности неотрицателных целых чисел \(a_1,a_2,\ldots,a_n\) and \(b_1,b_2,\ldots,b_m\).

Для каждого \(i\) (\(1\le i\le n\)), вам нужно выбрать \(j\) (\(1\le j\le m\)) и определить \(c_i=a_i\& b_j\), где \(\&\) обозначает операцию побитовое И. Обратите внимание, что вы можете выбрать одинаковые \(j\) для разных \(i\).

Найдите минимальное возможное \(c_1 | c_2 | \ldots | c_n\), где \(|\) обозначает операцию побитовое ИЛИ.

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

В первой строке записаны два целых числа \(n\) и \(m\) (\(1\le n,m\le 200\)).

Во второй строке записаны \(n\) целых чисел \(a_1,a_2,\ldots,a_n\) (\(0\le a_i < 2^9\)).

В третьей строке записаны \(m\) целых чисел \(b_1,b_2,\ldots,b_m\) (\(0\le b_i < 2^9\)).

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

Выведите одно целое число: минимальное возможное значение \(c_1 | c_2 | \ldots | c_n\).

Примечание

Для первого примера, рассмотрим \(c_1=a_1\& b_2=0\), \(c_2=a_2\& b_1=2\), \(c_3=a_3\& b_1=0\), \(c_4 = a_4\& b_1=0\). Следовательно, \(c_1 | c_2 | c_3 |c_4 =2\), и это минимальный возможный ответ.


Примеры
Входные данныеВыходные данные
1 4 2
2 6 4 0
2 4
2
2 7 6
1 9 1 9 8 1 0
1 1 4 5 1 4
0
3 8 5
179 261 432 162 82 43 10 38
379 357 202 184 197
147

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя