# your code goes here
class Kamus:
def __init__(self):
self.graph = {}
def tambah(self, kata, sinonim):
if not kata or not isinstance(sinonim, (list, tuple, set)):
return
if kata not in self.graph:
self.graph[kata] = set()
for s in sinonim:
if not s or s == kata:
continue
self.graph[kata].add(s)
if s not in self.graph:
self.graph[s] = set()
self.graph[s].add(kata)
def ambilSinonim(self, kata):
if kata not in self.graph:
return None
if len(self.graph[kata]) == 0:
return [kata]
return list(self.graph[kata])
IyB5b3VyIGNvZGUgZ29lcyBoZXJlCgpjbGFzcyBLYW11czoKICAgIGRlZiBfX2luaXRfXyhzZWxmKToKICAgICAgICBzZWxmLmdyYXBoID0ge30KCiAgICBkZWYgdGFtYmFoKHNlbGYsIGthdGEsIHNpbm9uaW0pOgogICAgICAgIGlmIG5vdCBrYXRhIG9yIG5vdCBpc2luc3RhbmNlKHNpbm9uaW0sIChsaXN0LCB0dXBsZSwgc2V0KSk6CiAgICAgICAgICAgIHJldHVybgoKICAgICAgICBpZiBrYXRhIG5vdCBpbiBzZWxmLmdyYXBoOgogICAgICAgICAgICBzZWxmLmdyYXBoW2thdGFdID0gc2V0KCkKCiAgICAgICAgZm9yIHMgaW4gc2lub25pbToKICAgICAgICAgICAgaWYgbm90IHMgb3IgcyA9PSBrYXRhOgogICAgICAgICAgICAgICAgY29udGludWUKCiAgICAgICAgICAgIHNlbGYuZ3JhcGhba2F0YV0uYWRkKHMpCgogICAgICAgICAgICBpZiBzIG5vdCBpbiBzZWxmLmdyYXBoOgogICAgICAgICAgICAgICAgc2VsZi5ncmFwaFtzXSA9IHNldCgpCiAgICAgICAgICAgIHNlbGYuZ3JhcGhbc10uYWRkKGthdGEpCgogICAgZGVmIGFtYmlsU2lub25pbShzZWxmLCBrYXRhKToKICAgICAgICBpZiBrYXRhIG5vdCBpbiBzZWxmLmdyYXBoOgogICAgICAgICAgICByZXR1cm4gTm9uZQoKICAgICAgICBpZiBsZW4oc2VsZi5ncmFwaFtrYXRhXSkgPT0gMDoKICAgICAgICAgICAgcmV0dXJuIFtrYXRhXQoKICAgICAgICByZXR1cm4gbGlzdChzZWxmLmdyYXBoW2thdGFdKQo=