Other encodings are possible (see, e.g., [10]). In one scheme, for example, every occurrence of the chosen pattern m is substituted by a pointer to a common dictionary copy, and we need to add one bit to distinguish original characters from pointers. The original encumbrance posed by m on the text is in this case (log |Σ| + 1)sm, from which we subtract |m| log |Σ| + fmDm log D + log |m| + fm(log r + 1), where r is the size of the dictionary, in itself a parameter to be either fixed a priori or estimated.