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

public class PrintTable {
    public static void main(String args[]) {
	SeparateChainingHashTable<myString> table = 
	    new SeparateChainingHashTable<myString>();
	
	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() {
	    
	    //return 0;
	    /*
	    // Simply add char values
	    int ret = 0;
	    for (int i=0; i<str.length(); i++) {
		ret += str.charAt(i);
	    }
	    return ret;
	    */
	    /*
	     // use only first 3 letters
	    return str.charAt(0) + 26*str.charAt(1) + 676*str.charAt(2);
	    */

	    /*
	     // subtracting 'A' from only first 3 letters
	    return str.charAt(0)-'A' + 26*(str.charAt(1)-'a') +
	    	676*(str.charAt(2)-'a');
	    */
	    
	     //Default String hashcode
	    return str.hashCode();
	    
 

	}
	public String str;
    }
}