facts = [
('croaks','frogs'),('eats flies','frogs'),
('frogs', 'green'),('chirp', 'canary'),
('sing', 'canary'),('canary', 'yellow')
]
def check(knowns, facts):
result = []
for known in knowns:
for A, B in facts:
if known == A and (A, B) not in result:
result.append((A, B))
knowns.append(B)
return result
print("Result :", check(['eats flies','green'], facts))
ZmFjdHMgPSBbCiAoJ2Nyb2FrcycsJ2Zyb2dzJyksKCdlYXRzIGZsaWVzJywnZnJvZ3MnKSwKICgnZnJvZ3MnLCAnZ3JlZW4nKSwoJ2NoaXJwJywgJ2NhbmFyeScpLAogKCdzaW5nJywgJ2NhbmFyeScpLCgnY2FuYXJ5JywgJ3llbGxvdycpCl0KZGVmIGNoZWNrKGtub3ducywgZmFjdHMpOgogICAgcmVzdWx0ID0gW10KICAgIGZvciBrbm93biBpbiBrbm93bnM6CiAgICAgICAgZm9yIEEsIEIgaW4gZmFjdHM6CiAgICAgICAgICAgIGlmIGtub3duID09IEEgYW5kIChBLCBCKSBub3QgaW4gcmVzdWx0OgogICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgoQSwgQikpCiAgICAgICAgICAgICAgICBrbm93bnMuYXBwZW5kKEIpCiAgICByZXR1cm4gcmVzdWx0CnByaW50KCJSZXN1bHQgOiIsIGNoZWNrKFsnZWF0cyBmbGllcycsJ2dyZWVuJ10sIGZhY3RzKSk=