N = int(input()) H = list(map(int, input().split())) H.sort() atk = 1 ans = 0 while any(h > 0 for h in H): mi = -1 for i in range(N): if H[i] > 0 and mi == -1: mi = i if H[i] > 0 and H[i] & atk: H[i] -= atk break else: assert mi != -1 H[mi] -= atk atk <<= 1 atk = min(atk, 10**18) ans += 1 print(ans)