# GIVEN
# this code creates a dictionary where 
#   keys are strings, the unique words
#   values are numbers, count of times each word appears
d = {}
for w in words:
    key = w
    if key not in d:
        d[key] = 0
    d[key] += 1


# this code creates a dictionary where 
#   keys are ???
#   values are ???
d = {}
for w in words:
    key = len(w)
    if key not in d:
        d[key] = 0
    d[key] += 1


# this code creates a dictionary where 
#   keys are ???
#   values are ???
d = {}
for w in words:
    key = w[0]
    if key not in d:
        d[key] = []
    d[key] += [ len(w) ]


# this code creates a dictionary where 
#   keys are ???
#   values are ???
d = {}
for w in words:
    key = tuple(sorted(w))
    if key not in d:
        d[key] = set()
    d[key].add(w)

