s = 3 #int(input("size: "))
field = [["0" for x in range(s)]for x in range(s)]
def prf(): #PRint Field
print("\n")
for x in field:
print(" ".join(map(str, x)))
print("\n")
prf()
def set(x,y,v): #set value by position
global field
field[y][x] = str(v)
def get(x,y): #get value by position
return field[y][x]
"""def ask2set():
while True:
inp = input()
if inp == "p":
break
else:
inp = list(map(int, inp.split()))
set(inp[0],inp[1],inp[2])
print("\n")
prf()"""
def check(x,y):
alive = []
dead = []
for i in [x-1, x, x+1]:
for j in [y+1, y, y-1]:
try:
if int(get(i, j)) and (i,j) != (x,y):
alive.append((i,j))
elif (i,j) != (x,y):
dead.append((i,j))
except:
return "0"
if not int(get(x, y)) and len(alive) == 3:
return "1"
elif int(get(x, y)) and len(alive) > 1 and len(alive) < 4:
return "1"
elif int(get(x, y)) and (len(alive) < 1 or len(alive) > 4):
return "0"
def play():
for x in range(s):
for y in range(s):
set(x, y, check(x,y))
prf()
set(0, 0, 1)
prf()
set(0, 1, 1)
prf()
set(1, 0, 1)
prf()
play()
play()
play()
cyA9IDMgI2ludChpbnB1dCgic2l6ZTogIikpCmZpZWxkID0gW1siMCIgZm9yIHggaW4gcmFuZ2UocyldZm9yIHggaW4gcmFuZ2UocyldCgpkZWYgcHJmKCk6ICNQUmludCBGaWVsZAoJcHJpbnQoIlxuIikKCWZvciB4IGluIGZpZWxkOgoJCXByaW50KCIgIi5qb2luKG1hcChzdHIsIHgpKSkKCXByaW50KCJcbiIpCgpwcmYoKQoKZGVmIHNldCh4LHksdik6ICNzZXQgdmFsdWUgYnkgcG9zaXRpb24KCWdsb2JhbCBmaWVsZAoJZmllbGRbeV1beF0gPSBzdHIodikKCmRlZiBnZXQoeCx5KTogI2dldCB2YWx1ZSBieSBwb3NpdGlvbgoJcmV0dXJuIGZpZWxkW3ldW3hdCgoiIiJkZWYgYXNrMnNldCgpOiAKCXdoaWxlIFRydWU6CgkJaW5wID0gaW5wdXQoKQoJCWlmIGlucCA9PSAicCI6CgkJCWJyZWFrCgkJZWxzZToKCQkJaW5wID0gbGlzdChtYXAoaW50LCBpbnAuc3BsaXQoKSkpCgkJCXNldChpbnBbMF0saW5wWzFdLGlucFsyXSkKCQkJcHJpbnQoIlxuIikKCQkJcHJmKCkiIiIKCmRlZiBjaGVjayh4LHkpOgoJYWxpdmUgPSBbXQoJZGVhZCA9IFtdCglmb3IgaSBpbiBbeC0xLCB4LCB4KzFdOgoJIAlmb3IgaiBpbiBbeSsxLCB5LCB5LTFdOgoJIAkJdHJ5OgoJCSAJCWlmIGludChnZXQoaSwgaikpIGFuZCAoaSxqKSAhPSAoeCx5KToKCQkgCQkJYWxpdmUuYXBwZW5kKChpLGopKQoJCSAJCWVsaWYgKGksaikgIT0gKHgseSk6CgkJIAkJCWRlYWQuYXBwZW5kKChpLGopKQoJCSAJZXhjZXB0OgoJCSAJCXJldHVybiAiMCIKCWlmIG5vdCBpbnQoZ2V0KHgsIHkpKSBhbmQgbGVuKGFsaXZlKSA9PSAzOgoJIAlyZXR1cm4gIjEiCgllbGlmIGludChnZXQoeCwgeSkpIGFuZCBsZW4oYWxpdmUpID4gMSBhbmQgbGVuKGFsaXZlKSA8IDQ6CgkgCXJldHVybiAiMSIKCWVsaWYgaW50KGdldCh4LCB5KSkgYW5kIChsZW4oYWxpdmUpIDwgMSBvciBsZW4oYWxpdmUpID4gNCk6CgkgCXJldHVybiAiMCIKCmRlZiBwbGF5KCk6Cglmb3IgeCBpbiByYW5nZShzKToKCQlmb3IgeSBpbiByYW5nZShzKToKCQkJc2V0KHgsIHksIGNoZWNrKHgseSkpCglwcmYoKQoKCnNldCgwLCAwLCAxKQpwcmYoKQoKc2V0KDAsIDEsIDEpCnByZigpCnNldCgxLCAwLCAxKQpwcmYoKQpwbGF5KCkKcGxheSgpCnBsYXkoKQ==