111111111111111
시간 제한2.5초메모리 제한1024 MB
주어진 정수 N개의 각 접두사에 대해 일부를 골라 XOR한 값 중 이진 표현의 1의 개수가 가장 많은 수를 날마다 하나씩 출력합니다.
문제
AI Network에서 일하는 루노(Runo)들은 이진수를 사용하며, 이진수 표현에 이 많은 수를 좋아한다.

루노들을 관리하는 아인(AIN)은 루노들의 동기 부여를 위해 앞으로 일간 날마다 가장 열심히 일한 루노에게 "오늘의 루노상"을 수여하려고 한다. 이 상의 상품은 루노들이 좋아할 법한, 이진수 표현에 이 많은 수이다.
어떤 수를 상품으로 줘야 할지 고민하던 아인은 수를 직접 고르는 일이 어렵다는 것을 깨닫고, 다음 일 동안 매일 정수를 하나씩 배달해 주는 서비스를 구독했다. 번째 날에 받을 수를 라고 하자.
아인은 매일 그날까지 모은 수들을 보고 다음 방식으로 상품을 만든다.
- 오늘이 서비스를 구독한 번째 날이라면, 중에서 일부를 마음대로 고른다. 수를 하나도 고르지 않거나 전부 고를 수도 있다.
- 고른 수들을 모두 bitwise XOR한 값을 계산한다. 수를 하나도 고르지 않았다면 결괏값은 이고, 하나만 골랐다면 결괏값은 그 수 자체이다.
아인은 이렇게 만들 수 있는 수 중에서 이진수 표현에 이 가장 많은 수를 하나 골라 상품으로 준다.
앞으로 일간 날마다 아인이 상품으로 선택할 수 있는 수를 하나 구해 보자.
입력
첫 번째 줄에 상을 주려는 일수이자 정수 배달 서비스를 구독하는 일수 이 주어진다.
다음 개의 줄에는 서비스를 통해 배달받는 정수가 한 줄에 하나씩 주어진다. 이 중 번째 줄에 주어지는 수는 이다.
출력
개의 줄에 걸쳐 답을 출력한다. 번째 줄에는 아인이가 번째 날에 상품으로 선택할 수 있는 수를 하나 출력한다.