# your code goes here# Pseudocode Map Function
def map(node, rank, outlinks):
for outlink in outlinks:
emit(outlink, rank / len(outlinks))
emit(node, '[' + ','.join(outlinks) + ']')
# Pseudocode Reduce Function
def reduce(node, values):
total_rank = 0
outlinks = []
for v in values:
if is_outlinks(v): # string check for '['
outlinks = parse_outlinks(v)
else:
total_rank += float(v)
pagerank = 0.15 + 0.85 * total_rank
emit(node, pagerank, outlinks)
IyB5b3VyIGNvZGUgZ29lcyBoZXJlIyBQc2V1ZG9jb2RlIE1hcCBGdW5jdGlvbgpkZWYgbWFwKG5vZGUsIHJhbmssIG91dGxpbmtzKToKICAgIGZvciBvdXRsaW5rIGluIG91dGxpbmtzOgogICAgICAgIGVtaXQob3V0bGluaywgcmFuayAvIGxlbihvdXRsaW5rcykpCiAgICBlbWl0KG5vZGUsICdbJyArICcsJy5qb2luKG91dGxpbmtzKSArICddJykKCiMgUHNldWRvY29kZSBSZWR1Y2UgRnVuY3Rpb24KZGVmIHJlZHVjZShub2RlLCB2YWx1ZXMpOgogICAgdG90YWxfcmFuayA9IDAKICAgIG91dGxpbmtzID0gW10KICAgIGZvciB2IGluIHZhbHVlczoKICAgICAgICBpZiBpc19vdXRsaW5rcyh2KTogICMgc3RyaW5nIGNoZWNrIGZvciAnWycKICAgICAgICAgICAgb3V0bGlua3MgPSBwYXJzZV9vdXRsaW5rcyh2KQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIHRvdGFsX3JhbmsgKz0gZmxvYXQodikKICAgIHBhZ2VyYW5rID0gMC4xNSArIDAuODUgKiB0b3RhbF9yYW5rCiAgICBlbWl0KG5vZGUsIHBhZ2VyYW5rLCBvdXRsaW5rcykK