Por vezes, precisamos de efetuar operações em pares de números binários. Se tivermos dois números a e b, podemos querer que todos os bits sejam 0, exceto aqueles que são 1 em ambos a e b (isto corresponde a uma operação AND). Em alternativa, podemos querer ter 1 em todas as posições onde a ou b tenham 1 (isto corresponde a uma operação OR).
a
b (OR)
b
a
a ^ b (XOR) exclusive OR
representações binárias e decimais
representações binárias e decimais
1 se ambos e forem 1, e 0 caso contrário
1 se ou ou forem 1, e 0 caso contrário
1 se os bits forem diferentes e 0 caso contrário
110 (6)
101 (5)
100 (4)
111 (7)
011 (3)
100111 (39)
010100 (20)
100 (4)
110111 (55)
110011 (51)
Desafio
Dado n inteiros, pretende-se encontrar 2 desses números que, ao aplicar-lhes OR, resultem no maior valor possível.
Entrada
A primeira linha da entrada contém um único inteiro n (1 ≤ n ≤ 1000).
A linha seguinte contém n inteiros separados por espaço (1 ≤ ≤ ).
Saída
Na saída, deve constar o maior valor possível obtido ao aplicar uma operação OR a 2 valores entre os números fornecidos.