  struct XOR { bool operator()(bool b1, bool b2)  const
                                           { return (b1&&!b2)||(!b1&&b2); } };
  struct XOR { bool operator()(bool b1, bool b2)  const
                                           { return (b1&&!b2)||(!b1&&b2); } };