농부 John의 소 $N$마리($1 \le N \le 100{,}000$)는 여러 공통점을 가지고 있다. John은 이 공통점을 서로 다른 $K$가지 특성($1 \le K \le 30$)으로 정리했다. 예를 들어 특성 1번을 가진 소는 얼룩무늬가 있을 수 있고, 특성 2번을 가진 소는 Pascal보다 C를 선호할 수 있는 식이다.
각 소는 특성 ID로 표현된다. 특성 ID는 $K$비트 정수 하나로, 그 이진 표현이 소가 어떤 특성을 가지는지를 나타낸다. 이진수를 오른쪽(최하위 비트)에서 왼쪽으로 읽을 때, $2^{i-1}$ 자리의 값이 $1$이면 그 소는 특성 $i$번을 가진다. 예를 들어 특성 ID가 $13$이면 이진수로 $1101$이므로, 그 소는 특성 $1$, $3$, $4$번은 가지지만 특성 $2$번은 가지지 않는다.
John은 소 $1 \dots N$번을 한 줄로 세운 뒤, 어떤 연속 구간들이 균형을 이룬다는 것을 알아차렸다. 연속한 소 구간 $i \dots j$가 균형을 이룬다는 것은, $K$가지 특성 각각이 그 구간 안에서 정확히 같은 수의 소에게 나타난다는 뜻이다. 균형을 이루는 가장 큰 구간의 크기(소의 수)를 구하여라.
이 줄에는 특성이 $3$가지인 소가 $7$마리 있다. 아래 표는 그 대응 관계를 정리한 것이다:
Feature 3: 1 1 1 0 0 1 0
Feature 2: 1 1 1 1 0 0 1
Feature 1: 1 0 1 0 1 0 0
Key: 7 6 7 2 1 4 2
Cow #: 1 2 3 4 5 6 7
소 3번부터 소 6번까지의 구간(크기 $4$)에서는 각 특성이 정확히 $2$마리의 소에게 나타난다:
Feature 3: 1 0 0 1 -> two total
Feature 2: 1 1 0 0 -> two total
Feature 1: 1 0 1 0 -> two total
Key: 7 2 1 4
Cow #: 3 4 5 6