1int main()
2{
3  unsigned long long table[256];
4  unsigned int i;
5  for (i=0; i<256; ++i) {
6      unsigned long long j;
7      unsigned char x=i;
8      for (j=0; j<5; ++j) {
9	  x += x<<1;
10	  x ^= x>>1;
11      }
12      for (j=0; j<5; ++j) {
13	  x += x<<1;
14	  x ^= x>>1;
15      }
16      for (j=0; j<5; ++j) {
17	  x += x<<1;
18	  x ^= x>>1;
19      }
20      for (j=0; j<5; ++j) {
21	  x += x<<1;
22	  x ^= x>>1;
23      }
24      for (j=0; j<5; ++j) {
25	  x += x<<1;
26	  x ^= x>>1;
27      }
28      table[i] ^= (((unsigned long long)x)<<16);
29  }
30  for (i=0; i<256; ++i) {
31      if ((table[i]&0xff)==i)
32	return 1;
33  }
34  return 0;
35}
36
37