node(1,empty,empty). height( node(500,empty,empty), H ). y height( node(500,node(250,empty,empty),empty), H ). y height( node(500,empty,node(750,empty,empty)), H ). y height( node(500,node(250,empty,empty),node(750,empty,empty)), H ). y height( node(500,node(250,node(125,empty,empty),empty),empty), H ). y height( node(500,node(250,node(125,empty,empty),empty),empty), H ). y nodecount( node(500,empty,empty), N ). y nodecount( node(500,node(250,empty,empty),empty), N ). y nodecount( node(500,empty,node(750,empty,empty)), N ). y nodecount( node(500,node(250,empty,empty),node(750,empty,empty)), N ). y nodecount( node(500,node(250,node(125,empty,empty),empty),empty), N ). y nodecount( node(500,node(250,node(125,empty,empty),node(375,empty,empty)),node(750,empty,empty)), N ). y merged( empty, empty, X ). y merged( node(1,empty,empty), empty, X ). y merged( empty, node(1,empty,empty), X ). y merged( node(1,empty,empty), node(2,empty,empty), X ). y merged( node(20,node(18,empty,empty),node(22,empty,empty)), node(30,node(28,empty,empty),empty), X ). y delete( 3, empty, X ). delete( 3, node(3,empty,empty), X). y delete( 3, node(3,node(2,empty,empty),empty), X). y delete( 3, node(3,empty,node(5,empty,empty)), X). y delete( 3, node(3,node(2,empty,empty),node(5,empty,empty)), X). y delete( 2, node(3,node(2,empty,empty),node(5,empty,empty)), X). y delete( 5, node(3,node(2,empty,empty),node(5,empty,empty)), X). y delete( 2, node(3,node(2,node(1,empty,empty),node(2.5,empty,empty)),node(5,node(4,empty,empty),node(7,empty,empty))), X). y delete( 5, node(3,node(2,node(1,empty,empty),node(2.5,empty,empty)),node(5,node(4,empty,empty),node(7,empty,empty))), X). y delete( 7, node(3,node(2,node(1,empty,empty),node(2.5,empty,empty)),node(5,node(4,empty,empty),node(7,node(6,empty,empty),empty))), X). y