#include<iostream>
using namespace std;
string s;
int dx[7]={0,1,-1,0,1,-1,0},dy[7]={-1,0,-1,0,1,0,1};
int mx[19]={2,3,1,2,3,1,2,4,3,2,1,0,0,0,1,2,3,4,4};
int my[19]={1,2,1,2,3,2,3,2,1,0,0,0,1,2,3,4,4,4,3};
bool check(int bit)
{
	int a[5][5]={};
	for(int i=0;i<19;i++)
	{
		a[mx[i]][my[i]]=bit%2;
		bit>>=1;
	}
	int ord=a[2][2];
	int next=0;
	for(int i=7;i--;)
	{
		int now=0;
		int x=mx[i],y=my[i];
		for(int r=7;r--;)
		{
			now=now*2+a[x+dx[r]][y+dy[r]];
		}
		next=next*2+s[now]-'0';
	}
	for(int i=0;i<7;i++)
	{
		a[mx[i]][my[i]]=next%2;
		next>>=1;
	}
	int now=0;
	for(int r=7;r--;)
	{
		now=now*2+a[2+dx[r]][2+dy[r]];
	}
	return s[now]-'0'==a[2][2];
}
int main()
{
	while(cin>>s,s!="#")
	{
		bool flag=1;
		for(int i=0;i<1<<19;i++)
		{
			flag&=check(i);
		}
		cout<<(flag?"yes":"no")<<endl;
	}
}

