Problem Display
PID: 133762 (1rr3B1/p2R1np1/Q2n4/1P4p1/2PBP1N1/1P1kPKp1/1P6/1NR1b3 w - - 0 1)

Rice, John Michael

4th HM., The Problemist, 1998

1rr3B1/p2R1np1/Q2n4/1P4p1/2PBP1N1/1P1kPKp1/1P6/1NR1b3

#3

14 + 10


5174 Chess Problem Spectrum 2003

SOLUTION


  • SOUND
  • Sets
    • 1...Bf2
      • 2.Rc3#
    • 1...Bc3
      • 2.Rxc3#
    • 1...Sxc4
      • 2.Bc5+
        • 2...Scd6
          • 3.b6#
        • 2...Sfd6
          • 3.Bxc4#
    • 1...Sxe4
      • 2.Bxg7+
        • 2...Sed6
          • 3.Bh7#
        • 2...Sfd6
          • 3.Se5#
    • 1...Sxb5
      • 2.Bb6+
        • 2...Sd4+
          • 3.Rxd4#
        • 2...Sbd6
          • 3.c5#
        • 2...Sfd6
          • 3.Se5#
    • 1...Se5+
      • 2.Sxe5#
    • 1...Sh6
      • 2.Se5#
    • 1...Sd8
      • 2.Se5#
    • 1...Sh8
      • 2.Se5#
    • 1...g2
      • 2.Sf2+
        • 2...Bxf2
          • 3.Rc3#
  • Tries
    • 1.Sf2+?
      • 1...Bxf2
        • 2.Rc3#
      • 1...gxf2!
    • 1.Rd1+?
      • 1...Bd2
        • 2.Rxd2#
      • 1...Kc2!
    • 1.Qxd6?
      • threat
        • 2.Se5+
          • 2...Sxe5+
            • 3.Bxe5#
        • 2.Bc3+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bc5+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Be5+
          • 2...Sxd6
            • 3.Rxd6#
        • 2.Bb6+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bf6+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bxa7+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bxg7+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bxf7
          • threat
            • 3.Se5#
            • 3.Bc3#
            • 3.Bc5#
            • 3.Be5#
            • 3.Bb6#
            • 3.Bf6#
            • 3.Bxa7#
            • 3.Bxg7#
          • 2...Rc5
            • 3.Bxc5#
        • 2.Rxf7
          • threat
            • 3.Se5#
            • 3.Bc3#
            • 3.Bc5#
            • 3.Be5#
            • 3.Bb6#
            • 3.Bf6#
            • 3.Bxa7#
            • 3.Bxg7#
          • 2...Rc5
            • 3.Bxc5#
        • 2.Qd5
          • threat
            • 3.Bc3#
            • 3.Bc5#
            • 3.Be5#
            • 3.Bb6#
            • 3.Bf6#
            • 3.Bxa7#
            • 3.Bxg7#
          • 2...Se5+
            • 3.Sxe5#
            • 3.Bxe5#
          • 2...Rxc4
            • 3.Qxc4#
          • 2...Rc5
            • 3.Bxc5#
          • 2...Bc3
            • 3.Bxc3#
            • 3.Rxc3#
      • 1...Rxb5
        • 2.Bc5+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
      • 1...Rxc4
        • 2.Bc3+
          • 2...Rd4
            • 3.Qxd4#
          • 2...Sxd6
            • 3.Se5#
            • 3.Bxc4#
        • 2.Bc5+
          • 2...Rd4
            • 3.Qxd4#
          • 2...Sxd6
            • 3.Se5#
            • 3.Bxc4#
        • 2.Be5+
          • 2...Rd4
            • 3.Qxd4#
          • 2...Sxd6
            • 3.Bxc4#
        • 2.Bb6+
          • 2...Rd4
            • 3.Qxd4#
          • 2...Sxd6
            • 3.Se5#
            • 3.Bxc4#
        • 2.Bf6+
          • 2...Rd4
            • 3.Qxd4#
          • 2...Sxd6
            • 3.Se5#
            • 3.Bxc4#
        • 2.Bxa7+
          • 2...Rd4
            • 3.Qxd4#
          • 2...Sxd6
            • 3.Se5#
            • 3.Bxc4#
        • 2.Bxg7+
          • 2...Rd4
            • 3.Qxd4#
          • 2...Sxd6
            • 3.Se5#
            • 3.Bxc4#
      • 1...Rxg8
        • 2.Se5+
          • 2...Sxe5+
            • 3.Bxe5#
        • 2.Bc3+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bc5+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Be5+
          • 2...Sxd6
            • 3.Rxd6#
        • 2.Bb6+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bf6+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bxa7+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bxg7+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Rxf7
          • threat
            • 3.Se5#
            • 3.Bc3#
            • 3.Bc5#
            • 3.Be5#
            • 3.Bb6#
            • 3.Bf6#
            • 3.Bxa7#
            • 3.Bxg7#
        • 2.Qd5
          • threat
            • 3.Bc3#
            • 3.Bc5#
            • 3.Be5#
            • 3.Bb6#
            • 3.Bf6#
            • 3.Bxa7#
            • 3.Bxg7#
          • 2...Se5+
            • 3.Sxe5#
            • 3.Bxe5#
          • 2...Bc3
            • 3.Bxc3#
            • 3.Rxc3#
      • 1...Rb6
        • 2.Bxb6+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
      • 1...Rb7
        • 2.Se5+
          • 2...Sxe5+
            • 3.Bxe5#
        • 2.Bc3+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bc5+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Be5+
          • 2...Sxd6
            • 3.Rxd6#
        • 2.Bb6+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bf6+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bxa7+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bxg7+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bxf7
          • threat
            • 3.Se5#
            • 3.Bc3#
            • 3.Bc5#
            • 3.Be5#
            • 3.Bb6#
            • 3.Bf6#
            • 3.Bxa7#
            • 3.Bxg7#
          • 2...Rc5
            • 3.Bxc5#
        • 2.Rxf7
          • threat
            • 3.Se5#
            • 3.Bc3#
            • 3.Bc5#
            • 3.Be5#
            • 3.Bb6#
            • 3.Bf6#
            • 3.Bxa7#
            • 3.Bxg7#
          • 2...Rc5
            • 3.Bxc5#
      • 1...Rc5
        • 2.Bxc5+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
      • 1...Rc7
        • 2.Se5+
          • 2...Sxe5+
            • 3.Bxe5#
        • 2.Bc3+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bc5+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Be5+
          • 2...Sxd6
            • 3.Rxd6#
        • 2.Bb6+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bf6+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bxa7+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bxg7+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bxf7
          • threat
            • 3.Se5#
            • 3.Bc3#
            • 3.Bc5#
            • 3.Be5#
            • 3.Bb6#
            • 3.Bf6#
            • 3.Bxa7#
            • 3.Bxg7#
          • 2...Rc5
            • 3.Bxc5#
        • 2.Rxf7
          • threat
            • 3.Se5#
            • 3.Bc3#
            • 3.Bc5#
            • 3.Be5#
            • 3.Bb6#
            • 3.Bf6#
            • 3.Bxa7#
            • 3.Bxg7#
          • 2...Rc5
            • 3.Bxc5#
      • 1...Rd8
        • 2.Se5+
          • 2...Sxe5+
            • 3.Bxe5#
        • 2.Bc3+
          • 2...Sxd6
            • 3.Se5#
        • 2.Bc5+
          • 2...Sxd6
            • 3.Se5#
        • 2.Bb6+
          • 2...Sxd6
            • 3.Se5#
        • 2.Bf6+
          • 2...Sxd6
            • 3.Se5#
        • 2.Bxa7+
          • 2...Sxd6
            • 3.Se5#
        • 2.Bxg7+
          • 2...Sxd6
            • 3.Se5#
        • 2.Bxf7
          • threat
            • 3.Se5#
            • 3.Bc3#
            • 3.Bc5#
            • 3.Be5#
            • 3.Bb6#
            • 3.Bf6#
            • 3.Bxa7#
            • 3.Bxg7#
      • 1...Re8
        • 2.Bc3+
          • 2...Sxd6
            • 3.Rxd6#
        • 2.Bc5+
          • 2...Sxd6
            • 3.Rxd6#
        • 2.Be5+
          • 2...Sxd6
            • 3.Rxd6#
        • 2.Bb6+
          • 2...Sxd6
            • 3.Rxd6#
        • 2.Bf6+
          • 2...Sxd6
            • 3.Rxd6#
        • 2.Bxa7+
          • 2...Sxd6
            • 3.Rxd6#
        • 2.Bxg7+
          • 2...Sxd6
            • 3.Rxd6#
        • 2.Qd5
          • threat
            • 3.Bc3#
            • 3.Bc5#
            • 3.Be5#
            • 3.Bb6#
            • 3.Bf6#
            • 3.Bxa7#
            • 3.Bxg7#
          • 2...Se5+
            • 3.Bxe5#
          • 2...Rxe4
            • 3.Qxe4#
          • 2...Re5
            • 3.Bxe5#
          • 2...Bc3
            • 3.Bxc3#
            • 3.Rxc3#
      • 1...Rf8
        • 2.Bf6+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bxf7
          • threat
            • 3.Se5#
            • 3.Bc3#
            • 3.Bc5#
            • 3.Be5#
            • 3.Bb6#
            • 3.Bf6#
            • 3.Bxa7#
            • 3.Bxg7#
        • 2.Rxf7
          • threat
            • 3.Se5#
            • 3.Bc3#
            • 3.Bc5#
            • 3.Be5#
            • 3.Bb6#
            • 3.Bf6#
            • 3.Bxa7#
            • 3.Bxg7#
      • 1...Bd2
        • 2.Se5+
          • 2...Sxe5+
            • 3.Bxe5#
        • 2.Bc3+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bc5+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Be5+
          • 2...Sxd6
            • 3.Rxd6#
        • 2.Bb6+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bf6+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bxa7+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bxg7+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
      • 1...Bb4
        • 2.Bc5+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bb6+
          • 2...Bxd6
            • 3.Rc3#
          • 2...Sxd6
            • 3.Se5#
        • 2.Bf6+
          • 2...Bxd6
            • 3.Rc3#
          • 2...Sxd6
            • 3.Se5#
        • 2.Bxa7+
          • 2...Bxd6
            • 3.Rc3#
          • 2...Sxd6
            • 3.Se5#
        • 2.Bxg7+
          • 2...Bxd6
            • 3.Rc3#
          • 2...Sxd6
            • 3.Se5#
        • 2.Bxf7
          • threat
            • 3.Se5#
            • 3.Bc5#
          • 2...Bxd6
            • 3.Rc3#
          • 2...Rc5
            • 3.Bxc5#
        • 2.Rxf7
          • threat
            • 3.Se5#
            • 3.Bc5#
          • 2...Bxd6
            • 3.Rc3#
          • 2...Rc5
            • 3.Bxc5#
        • 2.Qxb4
          • threat
            • 3.Rc3#
            • 3.Qd2#
            • 3.Qc3#
          • 2...Se5+
            • 3.Sxe5#
            • 3.Bxe5#
        • 2.Qd5
          • threat
            • 3.Bc3#
            • 3.Bc5#
            • 3.Be5#
            • 3.Bb6#
            • 3.Bf6#
            • 3.Bxa7#
            • 3.Bxg7#
          • 2...Se5+
            • 3.Sxe5#
            • 3.Bxe5#
          • 2...Rxc4
            • 3.Qxc4#
          • 2...Rc5
            • 3.Bxc5#
          • 2...Bc3
            • 3.Bxc3#
            • 3.Rxc3#
          • 2...Bc5
            • 3.Bxc5#
            • 3.Rc3#
      • 1...Ba5
        • 2.Se5+
          • 2...Sxe5+
            • 3.Bxe5#
        • 2.Bc3+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bc5+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Be5+
          • 2...Sxd6
            • 3.Rxd6#
        • 2.Bb6+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bf6+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bxa7+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bxg7+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bxf7
          • threat
            • 3.Se5#
            • 3.Bc3#
            • 3.Bc5#
            • 3.Be5#
            • 3.Bb6#
            • 3.Bf6#
            • 3.Bxa7#
            • 3.Bxg7#
          • 2...Rc5
            • 3.Bxc5#
        • 2.Rxf7
          • threat
            • 3.Se5#
            • 3.Bc3#
            • 3.Bc5#
            • 3.Be5#
            • 3.Bb6#
            • 3.Bf6#
            • 3.Bxa7#
            • 3.Bxg7#
          • 2...Rc5
            • 3.Bxc5#
        • 2.Qd5
          • threat
            • 3.Bc3#
            • 3.Bc5#
            • 3.Be5#
            • 3.Bb6#
            • 3.Bf6#
            • 3.Bxa7#
            • 3.Bxg7#
          • 2...Se5+
            • 3.Sxe5#
            • 3.Bxe5#
          • 2...Rxc4
            • 3.Qxc4#
          • 2...Rc5
            • 3.Bxc5#
          • 2...Bc3
            • 3.Bxc3#
            • 3.Rxc3#
      • 1...g2
        • 2.Sf2+
          • 2...Bxf2
            • 3.Rc3#
        • 2.Se5+
          • 2...Sxe5+
            • 3.Bxe5#
        • 2.Bc3+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bc5+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Be5+
          • 2...Sxd6
            • 3.Rxd6#
        • 2.Bb6+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bf6+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bxa7+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bxg7+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
      • 1...a5
        • 2.Se5+
          • 2...Sxe5+
            • 3.Bxe5#
        • 2.Bc3+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bc5+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Be5+
          • 2...Sxd6
            • 3.Rxd6#
        • 2.Bb6+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bf6+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Ba7+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bxg7+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bxf7
          • threat
            • 3.Se5#
            • 3.Bc3#
            • 3.Bc5#
            • 3.Be5#
            • 3.Bb6#
            • 3.Bf6#
            • 3.Ba7#
            • 3.Bxg7#
          • 2...Rc5
            • 3.Bxc5#
        • 2.Rxf7
          • threat
            • 3.Se5#
            • 3.Bc3#
            • 3.Bc5#
            • 3.Be5#
            • 3.Bb6#
            • 3.Bf6#
            • 3.Ba7#
            • 3.Bxg7#
          • 2...Rc5
            • 3.Bxc5#
        • 2.Qd5
          • threat
            • 3.Bc3#
            • 3.Bc5#
            • 3.Be5#
            • 3.Bb6#
            • 3.Bf6#
            • 3.Ba7#
            • 3.Bxg7#
          • 2...Se5+
            • 3.Sxe5#
            • 3.Bxe5#
          • 2...Rxc4
            • 3.Qxc4#
          • 2...Rc5
            • 3.Bxc5#
          • 2...Bc3
            • 3.Bxc3#
            • 3.Rxc3#
      • 1...a6
        • 2.Se5+
          • 2...Sxe5+
            • 3.Bxe5#
        • 2.Bc3+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bc5+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Be5+
          • 2...Sxd6
            • 3.Rxd6#
        • 2.Bb6+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bf6+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Ba7+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bxg7+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bxf7
          • threat
            • 3.Se5#
            • 3.Bc3#
            • 3.Bc5#
            • 3.Be5#
            • 3.Bb6#
            • 3.Bf6#
            • 3.Ba7#
            • 3.Bxg7#
          • 2...Rc5
            • 3.Bxc5#
        • 2.Rxf7
          • threat
            • 3.Se5#
            • 3.Bc3#
            • 3.Bc5#
            • 3.Be5#
            • 3.Bb6#
            • 3.Bf6#
            • 3.Ba7#
            • 3.Bxg7#
          • 2...Rc5
            • 3.Bxc5#
        • 2.Qd5
          • threat
            • 3.Bc3#
            • 3.Bc5#
            • 3.Be5#
            • 3.Bb6#
            • 3.Bf6#
            • 3.Ba7#
            • 3.Bxg7#
          • 2...Se5+
            • 3.Sxe5#
            • 3.Bxe5#
          • 2...Rxc4
            • 3.Qxc4#
          • 2...Rc5
            • 3.Bxc5#
          • 2...Bc3
            • 3.Bxc3#
            • 3.Rxc3#
      • 1...g6
        • 2.Se5+
          • 2...Sxe5+
            • 3.Bxe5#
        • 2.Bc3+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bc5+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Be5+
          • 2...Sxd6
            • 3.Rxd6#
        • 2.Bb6+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bf6+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bxa7+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bg7+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bh8+
          • 2...Sxd6
            • 3.Se5#
            • 3.Rxd6#
        • 2.Bxf7
          • threat
            • 3.Se5#
            • 3.Bc3#
            • 3.Bc5#
            • 3.Be5#
            • 3.Bb6#
            • 3.Bf6#
            • 3.Bxa7#
            • 3.Bg7#
            • 3.Bh8#
          • 2...Rc5
            • 3.Bxc5#
        • 2.Rxf7
          • threat
            • 3.Se5#
            • 3.Bc3#
            • 3.Bc5#
            • 3.Be5#
            • 3.Bb6#
            • 3.Bf6#
            • 3.Bxa7#
            • 3.Bg7#
            • 3.Bh8#
          • 2...Rc5
            • 3.Bxc5#
        • 2.Qd5
          • threat
            • 3.Bc3#
            • 3.Bc5#
            • 3.Be5#
            • 3.Bb6#
            • 3.Bf6#
            • 3.Bxa7#
            • 3.Bg7#
            • 3.Bh8#
          • 2...Se5+
            • 3.Sxe5#
            • 3.Bxe5#
          • 2...Rxc4
            • 3.Qxc4#
          • 2...Rc5
            • 3.Bxc5#
          • 2...Bc3
            • 3.Bxc3#
            • 3.Rxc3#
      • 1...Rc6!
  • Keys
    • 1.b4!
      • threat
        • 2.Qa3+
          • 2...Bc3
            • 3.Rxc3#
            • 3.Qxc3#
      • 1...Rxc4
        • 2.Rd1+
          • 2...Kc2
            • 3.Qa4#
          • 2...Bd2
            • 3.Rxd2#
      • 1...Bxb4
        • 2.Qa3+
          • 2...Bxa3
            • 3.Rc3#
          • 2...Bc3
            • 3.Rxc3#
            • 3.Qxc3#
      • 1...Sxc4
        • 2.Bc5+
          • 2...Scd6
            • 3.b6#
          • 2...Sfd6
            • 3.Bxc4#
      • 1...Sxe4
        • 2.Bxg7+
          • 2...Sed6
            • 3.Bh7#
          • 2...Sfd6
            • 3.Se5#
      • 1...Sxb5
        • 2.Bb6+
          • 2...Sd4+
            • 3.Rxd4#
          • 2...Sbd6
            • 3.c5#
          • 2...Sfd6
            • 3.Se5#
      • 1...Bd2
        • 2.Qa3+
          • 2...Bc3
            • 3.Rxc3#
            • 3.Qxc3#

FEATURES


NOT CLASSIFIED


Developed and maintained by Brian Stephenson.
Implemented with HTML5, MySQL, Perl (with, inter alia, CGI::Simple, HTML::Template & XML::LibXML) & CSS/Javascript (jQuery, Bootstrap & DataTables).