99 prolog problems