군나르는 웹사이트마다 다른 비밀번호를 쓴다. 전부 외우기는 어려워서, 사이트마다 비밀번호를 만든 방법만 기억해 둔다.
아주 중요한 어떤 사이트의 비밀번호는 음이 아닌 정수가 길게 나열된 파일에서 만들었다. 군나르는 xor 연산 ⊕ 를 좋아해서, 파일에 적힌 수 가운데 몇 개를 골라 xor 한 값을 비밀번호로 삼았다. 비트 하나에 대한 xor 는 0⊕0=1⊕1=0, 0⊕1=1⊕0=1 로 정의된다. 정수 두 개의 xor 는 두 수를 이진법으로 적고 같은 자리의 비트끼리 xor 한 결과다. 예를 들어 12=(1100)2 와 5=(101)2 의 xor 는 9=(1001)2 이다. 여러 수를 더하는 대신 xor 로 묶은 값을 xor 합이라고 부른다.
군나르는 xor 합이 가장 큰 부분집합을 골랐고, 그 xor 합이 비밀번호가 되었다. 고른 부분집합은 비어 있지 않다. 지금은 그런 부분집합을 찾는 방법을 잊어버려서 도움을 청하고 있다. 어느 사이트의 비밀번호인지는 알려 주지 않는다.
첫째 줄에 파일에 적힌 수의 개수 n 이 주어진다 (1≤n≤100000).
둘째 줄에 공백으로 구분된 정수 a1,a2,…,an 이 주어진다 (1≤ai≤1018).
비어 있지 않은 부분집합을 하나 골라 xor 합을 계산했을 때 얻을 수 있는 가장 큰 값을 한 줄에 출력한다.