(h, t) pair data structure changed:
the program loads the entire corpus into memory
each (h, t) only maintain pointers to that corpus