def extracthypos(synset, limit=999):
    """Given a synset object, return a set with all synsets 
    underneath it in the PWN structure (including the original)."""
    l = limit-1
    result = []
    result.append(synset)
    if synset.hyponyms() and l > 0:
        for each in synset.hyponyms():
            x = extracthypos(each, l)
            result += x
    return result