▁ ▁Suppose ▁for ▁a ▁given ▁alignment ▁of ▁P ▁and ▁T , ▁a ▁substring ▁t ▁of ▁T ▁matches ▁a ▁suffix ▁of ▁P , ▁but ▁a ▁mismatch ▁occurs ▁at ▁the ▁next ▁comparison ▁to ▁the ▁left . ▁Then ▁find , ▁if ▁it ▁exists , ▁the ▁right - most ▁copy ▁t ' ▁of ▁t ▁in ▁P ▁such ▁that ▁t ' ▁is ▁not ▁a ▁suffix ▁of ▁P ▁and ▁the ▁character ▁to ▁the ▁left ▁of ▁t ' ▁in ▁P ▁diff ers ▁from ▁the ▁character ▁to ▁the ▁left ▁of ▁t ▁in ▁P . ▁Sh ift ▁P ▁to ▁the ▁right ▁so ▁that ▁substring ▁t ' ▁in ▁P ▁align s ▁with ▁substring ▁t ▁in ▁T . ▁If ▁t ' ▁does ▁not ▁exist , ▁then ▁shift ▁the ▁left ▁end ▁of ▁P ▁past ▁the ▁left ▁end ▁of ▁t ▁in ▁T ▁by ▁the ▁least ▁amount ▁so ▁that ▁a ▁prefix ▁of ▁the ▁shift ed ▁pattern ▁matches ▁a ▁suffix ▁of ▁t ▁in ▁T . ▁If ▁no ▁such ▁shift ▁is ▁possible , ▁then ▁shift ▁P ▁by ▁n ▁places ▁to ▁the ▁right . ▁If ▁an ▁occurrence ▁of ▁P ▁is ▁found , ▁then ▁shift ▁P ▁by ▁the ▁least ▁amount ▁so ▁that ▁a ▁proper ▁prefix ▁of ▁the ▁shift ed ▁P ▁matches ▁a ▁suffix ▁of ▁the ▁occurrence ▁of ▁P ▁in ▁T . ▁If ▁no ▁such ▁shift ▁is ▁possible , ▁then ▁shift ▁P ▁by ▁n ▁places , ▁that ▁is , ▁shift ▁P ▁past ▁t . ▁ ▁Pre processing ▁The ▁good ▁suffix ▁rule ▁requires ▁two ▁tables : ▁one ▁for ▁use ▁in ▁the ▁general ▁case , ▁and ▁another ▁for ▁use ▁when ▁either ▁the ▁general ▁case