# forbid compounds with spec. pattern at word bounds
COMPOUNDFLAG A
CHECKCOMPOUNDPATTERN 2
CHECKCOMPOUNDPATTERN nny ny
CHECKCOMPOUNDPATTERN ssz sz
