exercise of MapReduce