1차원 2048

문제

2k (0k62) 꼴의 정수 또는 0으로만 이루어진 수열이 있습니다. 흐즈로는 이 수열에 대해 다음과 같은 연산을 정의했습니다.

예를 들어, 수열 [2,4,2,0,1]i=1,j=3을 골라 실행한다면 수열은 [4,4,0,0,1]이 되며, 여기에 i=1,j=2를 골라 실행한다면 수열은 [8,0,0,0,1]이 됩니다.

흐즈로는 수열에 연산을 여러 번 실행하여 수열의 최댓값이 가능한 한 커지길 원합니다. 흐즈로는 이 연산을 계속 반복했다가는 머리가 아파질 것이라고 생각하여, 여러분에게 프로그램 제작을 부탁하기로 했습니다. 수열이 주어졌을 때, 흐즈로가 정의한 연산을 0번 이상 시행하여 수열의 최댓값을 가능한 한 크게 만들어주세요.

입력

첫 번째 줄에 수열의 길이 N (1N200000)이 주어집니다.

두 번째 줄에 수열의 각 원소 ai (1iN,ai=0 또는 2k (0k62))가 주어집니다. 수열 a에는 2k꼴의 정수가 반드시 하나 이상 존재합니다.

출력

첫 줄에 흐즈로가 정의한 연산을 0번 이상 수행해 만들 수 있는 가장 큰 최댓값을 출력하세요. 문제의 답은 262보다 크지 않음이 보장됩니다.

예제 입력 1 복사

20
512 32 64 0 0 0 0 64 64 0 32 0 0 0 512 0 0 256 256 256

예제 출력 1 복사

2048