n = int(input()) A = list(map(int, input().split())) current_set = set() current_set.add(1) has_zero = False for a in A: new_set = set() new_has_zero = False # Process current elements for x in current_set: mul = x * a and_val = x & a new_set.add(mul) new_set.add(and_val) if mul == 0: new_has_zero = True if and_val == 0: new_has_zero = True # Process zero from previous has_zero if has_zero: new_set.add(0) new_has_zero = True # Determine new has_zero and current_set current_set = new_set - {0} has_zero = new_has_zero or (0 in new_set) # Calculate the count count = len(current_set) + (1 if has_zero else 0) print(count)