시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
2 초 512 MB 30 13 8 66.667%

문제

N개의 정수로 이루어진 배열 A가 주어진다.

이때, A의 각각의 부분 배열에 대해서, 부분 배열의 모든 원소를 바이너리 & 한 값을 모두 모은다. 이때, 서로 다른 수가 몇 개인지 구하는 프로그램을 작성하시오.

부분 배열이란 A의 일부분을 의미하며, 연속되어있을 필요는 없다. 부분 배열의 크기가 0인 경우에 바이너리 & 한 값은 0이다.

입력

첫째 줄에 N이 주어진다. (1 ≤ N ≤ 100,000)

둘째 줄에 배열 A에 들어있는 수가 주어진다. 배열에 들어있는 수는 중복되지 않으며, 106보다 작거나 같은 음이 아닌 정수이다.

출력

첫째 줄에 &한 결과의 서로 다른 수의 개수를 출력한다.

예제 입력 1

4
1 3 6 7

예제 출력 1

6

예제 입력 2

4
23 54 39 23

예제 출력 2

8

출처