#icpc2014autumnk. [icpc2014autumn_k]Idempotent Filter

[icpc2014autumn_k]Idempotent Filter

题目描述

考虑由黑白像素组成的六角形像素的操作,每个像素要么是黑色要么是白色。由于像素的形状,每个像素恰好有六个相邻的像素(即与它共享边的像素)。

"过滤"是根据自身和其六个相邻像素的颜色来确定像素的颜色的操作。下面展示了一些过滤的例子。

例子1:当所有相邻像素都是白色时,将像素涂成白色,否则颜色不变。

执行此操作时,同时对所有像素进行操作会得到"噪声消除"效果,即去除孤立的黑色像素。

例子2:当所有相邻像素都是黑色时,将像素涂成白色,否则颜色不变。

执行此操作时,同时对所有像素进行操作会得到"边缘检测"效果,即只保留填充区域的边缘。

例子3:用其正下方像素的颜色来涂色,无视其他相邻像素。

执行此操作时,同时对所有像素进行操作会使整个图像向上移动一个像素。

对任何图像多次应用某种过滤器(例如"噪声消除"和"边缘检测"),其结果与仅应用一次的结果完全相同。我们将这样的过滤器称为 幂等 过滤器。"向上移动"过滤器不是幂等过滤器,因为每次重复应用都将图像向上移动一个像素。

你的任务是确定给定的过滤器是否是幂等过滤器。


输入

输入包含多个数据集。数据集的数量小于100。每个数据集是表示过滤器的字符串,具有以下格式(数字之间没有空格)。

c_0c_1cdotsc_127c\_0c\_1\\cdots{}c\_{127}

c_ic\_i 是 '0'(表示黑色)或 '1'(表示白色),它表示当像素及其六个相邻像素的二进制表示为 ii 时,过滤器对像素的输出。像素到位的映射如下所示:

二进制表示 ii 定义为 i=sum_j=06mathitbit_jtimes2ji = \\sum\_{j=0}^6{\\mathit{bit}\_j \\times 2^j},其中 mathitbit_j\\mathit{bit}\_j 是相应像素的颜色是否为黑色(0)或白色(1)。注意,过滤器应用于中心像素,表示为位3。

输入以只包含一个 "#" 的行结束。

输出

对于每个数据集,如果给定的过滤器是幂等的,请在一行中打印"yes",否则打印"no"(引号是为了清晰起见)。


示例输入

00000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000111111111
10000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111
01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101
#```

### 示例输出

```plain
yes
yes
no```

* * *

### 来源名称

JAG Practice Contest for ACM-ICPC Asia Regional 2014

* * *