import java.util.*;
import java.io.*;

public class PrintTable {
    public static void main(String args[]) {
	SeparateChainingHashTable<myString> table = 
	    new SeparateChainingHashTable<myString>(Integer.parseInt(args[1]));
	
	try {
	    File input = new File(args[0]);
	    
	    Scanner s = new Scanner(input);
	    
	    while(s.hasNext()) {
		table.insert(new myString(s.nextLine()));
	    }
	} catch (IOException e) {
	    System.out.println(e);
	}
	
	System.out.println(table);
    }

    static private class myString {
	//hijack Strings to implement our own hashCode()
	
	public myString(String st) {
	    str = st;
	}
	public String toString() {
	    return "("+str+")";
	}

	public int hashCode() {
	    
	    //int ret = 0;
	    //for (int i=0; i<str.length(); i++) {
		//ret += str.charAt(i);
		//}
	    //return ret;
	    

	    //return str.charAt(0) + 26*str.charAt(1) + 676*str.charAt(2);

	    //return str.charAt(0)-'A' + 26*(str.charAt(1)-'a') +
	    //	676*(str.charAt(2)-'a');

	    //return str.hashCode();
	    
	    

	}
	public String str;
    }
}
