#!/usr/bin/python from lang import special, search import sys import re, urllib pattern = r"^%s ((Special)|(%s))((:)|(\%%3A))((Search)|(%s))((\/)|(\%%2[Ff]))".replace('(', '(?:') + r'([^ ]*) ([0-9]*)' import sys rank = {} patterns = {} while True: line = sys.stdin.readline() if not line: break index = line.find(' ') wiki = line[:index] if wiki not in patterns: patterns[wiki] = re.compile(pattern % (wiki, special.get(wiki, 'Special'), search.get(wiki, 'Search'))) match = patterns[wiki].search(line.strip()) if not match: continue title, count = match.groups() if not wiki in rank: rank[wiki] = {} title = urllib.unquote_plus(title).decode('utf-8', 'ignore') title = title.replace('_', ' ').strip(' \t\r\n') if not title: continue title = (title[0].upper() + title[1:]).encode('utf-8') if title not in rank[wiki]: rank[wiki][title] = 0 rank[wiki][title] += int(count) for wiki in rank.keys(): rank2 = rank[wiki].items() rank2.sort(cmp = lambda x, y: -cmp(x[1], y[1])) for i in xrange(len(rank2)): print wiki, (i + 1), rank2[i][1], rank2[i][0]