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 == B and (A, B) not in result:
result.append((A, B))
knowns.append(A)
return result
print("Result :", check(['frogs'], facts))
ZmFjdHMgPSBbCiAoJ2Nyb2FrcycsJ2Zyb2dzJyksKCdlYXRzIGZsaWVzJywnZnJvZ3MnKSwKICgnZnJvZ3MnLCAnZ3JlZW4nKSwoJ2NoaXJwJywgJ2NhbmFyeScpLAogKCdzaW5nJywgJ2NhbmFyeScpLCgnY2FuYXJ5JywgJ3llbGxvdycpCl0KZGVmIGNoZWNrKGtub3ducywgZmFjdHMpOgogICAgcmVzdWx0ID0gW10KICAgIGZvciBrbm93biBpbiBrbm93bnM6CiAgICAgICAgZm9yIEEsIEIgaW4gZmFjdHM6CiAgICAgICAgICAgIGlmIGtub3duID09IEIgYW5kIChBLCBCKSBub3QgaW4gcmVzdWx0OgogICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgoQSwgQikpCiAgICAgICAgICAgICAgICBrbm93bnMuYXBwZW5kKEEpCiAgICByZXR1cm4gcmVzdWx0CnByaW50KCJSZXN1bHQgOiIsIGNoZWNrKFsnZnJvZ3MnXSwgZmFjdHMpKQo=