멱등 필터
시간 제한8초메모리 제한512 MB
128비트 룩업 테이블로 주어진 육각 격자 필터가 멱등인지, 즉 두 번 적용한 결과가 한 번 적용한 결과와 항상 같은지 판정한다.
문제
검은색이나 흰색으로 칠해진 육각형 픽셀로 이루어진 흑백 이미지를 생각하자. 픽셀이 육각형이므로 모든 픽셀에는 변을 맞대고 있는 이웃 픽셀이 정확히 여섯 개 있다.
필터링은 픽셀 자신과 이웃 여섯 개의 색으로 그 픽셀의 새 색을 정하는 연산이다. 필터의 예를 세 개 든다.
첫 번째 필터는 이웃 여섯 개가 모두 흰색이면 픽셀을 흰색으로 칠하고, 그렇지 않으면 색을 그대로 둔다.

모든 픽셀에 이 연산을 동시에 적용하면 고립된 검은 픽셀을 없애는 잡음 제거가 된다.
두 번째 필터는 이웃 여섯 개가 모두 검은색이면 픽셀을 흰색으로 칠하고, 그렇지 않으면 색을 그대로 둔다.

모든 픽셀에 동시에 적용하면 칠해진 영역의 경계만 남기는 윤곽선 검출이 된다.
세 번째 필터는 다른 이웃을 모두 무시하고 바로 아래 픽셀의 색을 그대로 가져온다.

모든 픽셀에 동시에 적용하면 이미지 전체가 한 픽셀 위로 올라간다.
잡음 제거나 윤곽선 검출은 어떤 이미지에 두 번 적용해도 결과가 한 번 적용한 것과 완전히 같다. 이런 필터를 멱등이라고 한다. 이동 필터는 적용할 때마다 이미지가 한 픽셀씩 더 올라가므로 멱등이 아니다.
이미지는 육각 격자 전체에 펼쳐져 있다. 유한한 픽셀 묶음에 색을 어떻게 배치하든 그 배치가 실제로 나타나는 이미지가 있다.
주어진 필터가 멱등인지 판정하라.
입력
입력은 여러 개의 데이터셋으로 이루어지고, 데이터셋의 개수는 100개 미만이다. 각 데이터셋은 필터 하나를 나타내는 128자 문자열이며 한 줄에 공백 없이 주어진다.
는 '0'(검은색) 또는 '1'(흰색)이고, 픽셀 자신과 이웃 여섯 개의 색을 이진수로 나타낸 값이 일 때 필터가 내보내는 색이다. 비트는 중심 픽셀 주위에 다음과 같이 붙는다.

비트 3은 필터를 적용하는 중심 픽셀, 비트 6은 그 위 픽셀, 비트 0은 아래 픽셀, 비트 5는 왼쪽 위, 비트 4는 오른쪽 위, 비트 2는 왼쪽 아래, 비트 1은 오른쪽 아래 이웃이다. 값 는 로 정하며, 는 해당 픽셀이 검은색이면 0, 흰색이면 1이다.
입력의 마지막 줄에는 '#' 한 글자만 있다.
출력
각 데이터셋마다 필터가 멱등이면 yes를, 아니면 no를 한 줄에 출력한다.