# ACSL whatever
# Jonathan Sorce
def permute(string):
if len(string) == 1:
if string == '*':
return ['1', '0']
else: return [string,]
else:
if string[0] == '*':
return ['1' + i for i in permute(string[1:])] + \
['0' + j for j in permute(string[1:])]
else:
return [string[0] + i for i in permute(string[1:])]
for i in range(5):
inPut = raw_input("> ")
inPut = inPut.split(", ")
strings = inPut[1:]
retString = ""
for i in range(len(strings[0])):
oneFound = False
zeroFound = False
for j in strings:
if j[i] == '1': oneFound = True
if j[i] == '0': zeroFound = True
if oneFound and zeroFound:
retString += '*'
elif oneFound:
retString += '1'
elif zeroFound:
retString += '0'
# Check
valid = True
for i in permute(retString):
if i not in strings:
print "NONE"
valid = False
break
if valid == True:
print retString
IyBBQ1NMIHdoYXRldmVyCiMgSm9uYXRoYW4gU29yY2UKCmRlZiBwZXJtdXRlKHN0cmluZyk6CiAgICBpZiBsZW4oc3RyaW5nKSA9PSAxOgogICAgICAgIGlmIHN0cmluZyA9PSAnKic6CiAgICAgICAgICAgIHJldHVybiBbJzEnLCAnMCddCiAgICAgICAgZWxzZTogcmV0dXJuIFtzdHJpbmcsXQogICAgZWxzZToKICAgICAgICBpZiBzdHJpbmdbMF0gPT0gJyonOgogICAgICAgICAgICByZXR1cm4gWycxJyArIGkgZm9yIGkgaW4gcGVybXV0ZShzdHJpbmdbMTpdKV0gKyBcCiAgICAgICAgICAgICAgICAgICBbJzAnICsgaiBmb3IgaiBpbiBwZXJtdXRlKHN0cmluZ1sxOl0pXQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIHJldHVybiBbc3RyaW5nWzBdICsgaSBmb3IgaSBpbiBwZXJtdXRlKHN0cmluZ1sxOl0pXQoKZm9yIGkgaW4gcmFuZ2UoNSk6CiAgICBpblB1dCA9IHJhd19pbnB1dCgiPiAiKQogICAgaW5QdXQgPSBpblB1dC5zcGxpdCgiLCAiKQogICAgc3RyaW5ncyA9IGluUHV0WzE6XQogICAgcmV0U3RyaW5nID0gIiIKICAgIGZvciBpIGluIHJhbmdlKGxlbihzdHJpbmdzWzBdKSk6CiAgICAgICAgb25lRm91bmQgPSBGYWxzZQogICAgICAgIHplcm9Gb3VuZCA9IEZhbHNlCiAgICAgICAgZm9yIGogaW4gc3RyaW5nczoKICAgICAgICAgICAgaWYgaltpXSA9PSAnMSc6IG9uZUZvdW5kID0gVHJ1ZQogICAgICAgICAgICBpZiBqW2ldID09ICcwJzogemVyb0ZvdW5kID0gVHJ1ZQogICAgICAgIGlmIG9uZUZvdW5kIGFuZCB6ZXJvRm91bmQ6CiAgICAgICAgICAgIHJldFN0cmluZyArPSAnKicKICAgICAgICBlbGlmIG9uZUZvdW5kOgogICAgICAgICAgICByZXRTdHJpbmcgKz0gJzEnCiAgICAgICAgZWxpZiB6ZXJvRm91bmQ6CiAgICAgICAgICAgIHJldFN0cmluZyArPSAnMCcKCiAgICAjIENoZWNrCiAgICB2YWxpZCA9IFRydWUKICAgIGZvciBpIGluIHBlcm11dGUocmV0U3RyaW5nKToKICAgICAgICBpZiBpIG5vdCBpbiBzdHJpbmdzOgogICAgICAgICAgICBwcmludCAiTk9ORSIKICAgICAgICAgICAgdmFsaWQgPSBGYWxzZQogICAgICAgICAgICBicmVhawogICAgaWYgdmFsaWQgPT0gVHJ1ZToKICAgICAgICBwcmludCByZXRTdHJpbmcK