# -*- coding: utf-8 -*-
import collections
import os
import re

def countword(file):
    try:
        f = open(file,'r')
        dic = collections.defaultdict(lambda: 0)
        data = f.read()
        data = data.lower()
        data = re.sub(r'[\W\d]', ' ', data)
        datalist = data.split()
        for item in datalist:
            if item not in datalist:
                dic[item] = 1
            dic[item] += 1
        return dic
    except:
        print 'file open error!'


if __name__ == '__main__':
    try:
        file = "words.txt"
        res = countword(file)
        res = sorted(res.iteritems(), key=lambda x : x[1])
        for item in res:
            print item[0] + ":%d" % item[1]
    except:
        print 'run time error'