길이가 K인 이진 수열을 모은 집합 B가 있다. B의 각 원소는 각 항이 0 또는 1인 길이 K짜리 수열이다.
정수 수열 Zi는 다음 과정으로 만든다.
- B에서 수열 X=(x1,x2,…,xK)를 하나 고른다.
- B에서 dist(X,Y)≤2를 만족하는 수열 Y=(y1,y2,…,yK)를 하나 고른다. 여기서 dist(X,Y)는 두 수열의 해밍 거리, 즉 같은 자리의 값이 서로 다른 자리의 개수다. 예를 들어 dist((1,0,1,1),(1,1,1,1))=1이고 dist((1,0,1,1,1,0,1),(1,0,0,1,0,0,1))=2이다. X와 Y로 같은 원소를 고를 수 있다.
- Zi=(x1+y1,x2+y2,…,xK+yK)로 둔다.
예를 들어 Zi=(1,0,1,2,2)는 X=(1,0,0,1,1)과 Y=(0,0,1,1,1)로 만들 수 있다.
이 과정으로 만든 정수 수열 N개 Z1,Z2,…,ZN이 주어진다. 이 N개를 모두 만들 수 있는 집합 B 중에서 원소 개수가 가장 적은 것을 찾아, 그 원소 개수를 출력하는 프로그램을 작성하시오.