Result

WA

Code [DL]

import std.stdio;
import std.array;
import std.conv;
void main(){string s;while ((s=readln()).length>3){int i=to!int(split(s)[0],2);writeln((8*i+1)**.5%2==1);}}

stdin

00001111
10101011
01000101
11110001
00110111
01001110
11010101
01100100
10011110
01011011
00111011
01101001
00010111
00000000
10111110
00001111
11100111
10011001
01000110
00010101
01010101
00101101
10000010
11111101
10111000
11000010
11010010
11001011
00011100
00011100
00001001
01111000
11111111
00111000
00000001
11111100
10010010
01001000
00000011
01000010
10110011
00001010
11111011
10001000
00110101
00100100
00000110
10010101
11000000
01110110

stdout

stderr

/volume/CODE.d(4): Error: can only * a pointer, not a 'double'
Failed: ["dmd", "-v", "-o-", "/volume/CODE.d", "-I/volume"]

strace