comment: Rebuild-offset=0
initialize: rebuild-offset = 0 bounding-box = [(0.0,0.0),(10.0,10.0)]
alert: The following deletion should result in a nonexistent-point exception
delete-point((6.0,7.0)): Failure due to exception: "Deletion of nonexistent point"
list:
  [null]
Tree structure:
  [null]
insert(ATL): successful {Atlanta, (5.0,4.0)}
list:
  [ATL: (5.0,4.0)]
Tree structure:
  [ATL: (5.0,4.0)]
comment: Split direction flips to y because points have same x coordinates
insert(JFK): successful {New York, (5.0,6.0)}
list:
  (y=5.0) 2:0
  [JFK: (5.0,6.0)]
  [ATL: (5.0,4.0)]
Tree structure:
  | [JFK: (5.0,6.0)]
  (y=5.0) 2:0
  | [ATL: (5.0,4.0)]
insert(BWI): successful {Baltimore, (5.0,9.0)}
list:
  (y=5.0) 3:1
  (y=7.5) 2:0
  [BWI: (5.0,9.0)]
  [JFK: (5.0,6.0)]
  [ATL: (5.0,4.0)]
Tree structure:
  | | [BWI: (5.0,9.0)]
  | (y=7.5) 2:0
  | | [JFK: (5.0,6.0)]
  (y=5.0) 3:1
  | [ATL: (5.0,4.0)]
insert(IAD): successful {Dulles, (2.0,1.0)}
list:
  (y=5.0) 4:2
  (y=7.5) 2:0
  [BWI: (5.0,9.0)]
  [JFK: (5.0,6.0)]
  (x=5.0) 2:0
  [ATL: (5.0,4.0)]
  [IAD: (2.0,1.0)]
Tree structure:
  | | [BWI: (5.0,9.0)]
  | (y=7.5) 2:0
  | | [JFK: (5.0,6.0)]
  (y=5.0) 4:2
  | | [ATL: (5.0,4.0)]
  | (x=5.0) 2:0
  | | [IAD: (2.0,1.0)]
comment: Inserting ORD should trigger a rebuild at the root
insert(ORD): successful {Chicago, (2.0,9.0)}
list:
  (x=5.0) 5:0
  (y=5.0) 3:0
  (y=7.5) 2:0
  [BWI: (5.0,9.0)]
  [JFK: (5.0,6.0)]
  [ATL: (5.0,4.0)]
  (y=5.0) 2:0
  [ORD: (2.0,9.0)]
  [IAD: (2.0,1.0)]
Tree structure:
  | | | [BWI: (5.0,9.0)]
  | | (y=7.5) 2:0
  | | | [JFK: (5.0,6.0)]
  | (y=5.0) 3:0
  | | [ATL: (5.0,4.0)]
  (x=5.0) 5:0
  | | [ORD: (2.0,9.0)]
  | (y=5.0) 2:0
  | | [IAD: (2.0,1.0)]
insert(DFW): successful {Dallas-Fort Worth, (2.0,8.0)}
list:
  (x=5.0) 6:1
  (y=5.0) 3:0
  (y=7.5) 2:0
  [BWI: (5.0,9.0)]
  [JFK: (5.0,6.0)]
  [ATL: (5.0,4.0)]
  (y=5.0) 3:1
  (y=8.0) 2:0
  (y=9.0) 2:0
  [ORD: (2.0,9.0)]
  [DFW: (2.0,8.0)]
  [null]
  [IAD: (2.0,1.0)]
Tree structure:
  | | | [BWI: (5.0,9.0)]
  | | (y=7.5) 2:0
  | | | [JFK: (5.0,6.0)]
  | (y=5.0) 3:0
  | | [ATL: (5.0,4.0)]
  (x=5.0) 6:1
  | | | | [ORD: (2.0,9.0)]
  | | | (y=9.0) 2:0
  | | | | [DFW: (2.0,8.0)]
  | | (y=8.0) 2:0
  | | | [null]
  | (y=5.0) 3:1
  | | [IAD: (2.0,1.0)]
insert(DCA): successful {Washington, (2.0,7.0)}
list:
  (x=5.0) 7:2
  (y=5.0) 3:0
  (y=7.5) 2:0
  [BWI: (5.0,9.0)]
  [JFK: (5.0,6.0)]
  [ATL: (5.0,4.0)]
  (y=5.0) 4:2
  (y=8.0) 3:1
  (y=9.0) 2:0
  [ORD: (2.0,9.0)]
  [DFW: (2.0,8.0)]
  [DCA: (2.0,7.0)]
  [IAD: (2.0,1.0)]
Tree structure:
  | | | [BWI: (5.0,9.0)]
  | | (y=7.5) 2:0
  | | | [JFK: (5.0,6.0)]
  | (y=5.0) 3:0
  | | [ATL: (5.0,4.0)]
  (x=5.0) 7:2
  | | | | [ORD: (2.0,9.0)]
  | | | (y=9.0) 2:0
  | | | | [DFW: (2.0,8.0)]
  | | (y=8.0) 3:1
  | | | [DCA: (2.0,7.0)]
  | (y=5.0) 4:2
  | | [IAD: (2.0,1.0)]
insert(LAX): successful {Los Angeles, (8.0,2.0)}
list:
  (x=5.0) 8:3
  (y=5.0) 4:1
  (y=7.5) 2:0
  [BWI: (5.0,9.0)]
  [JFK: (5.0,6.0)]
  (x=7.5) 2:0
  [LAX: (8.0,2.0)]
  [ATL: (5.0,4.0)]
  (y=5.0) 4:2
  (y=8.0) 3:1
  (y=9.0) 2:0
  [ORD: (2.0,9.0)]
  [DFW: (2.0,8.0)]
  [DCA: (2.0,7.0)]
  [IAD: (2.0,1.0)]
Tree structure:
  | | | [BWI: (5.0,9.0)]
  | | (y=7.5) 2:0
  | | | [JFK: (5.0,6.0)]
  | (y=5.0) 4:1
  | | | [LAX: (8.0,2.0)]
  | | (x=7.5) 2:0
  | | | [ATL: (5.0,4.0)]
  (x=5.0) 8:3
  | | | | [ORD: (2.0,9.0)]
  | | | (y=9.0) 2:0
  | | | | [DFW: (2.0,8.0)]
  | | (y=8.0) 3:1
  | | | [DCA: (2.0,7.0)]
  | (y=5.0) 4:2
  | | [IAD: (2.0,1.0)]
insert(SEA): successful {Seattle, (8.0,4.0)}
list:
  (x=5.0) 9:4
  (y=5.0) 5:2
  (y=7.5) 2:0
  [BWI: (5.0,9.0)]
  [JFK: (5.0,6.0)]
  (x=7.5) 3:1
  (y=2.5) 2:0
  [SEA: (8.0,4.0)]
  [LAX: (8.0,2.0)]
  [ATL: (5.0,4.0)]
  (y=5.0) 4:2
  (y=8.0) 3:1
  (y=9.0) 2:0
  [ORD: (2.0,9.0)]
  [DFW: (2.0,8.0)]
  [DCA: (2.0,7.0)]
  [IAD: (2.0,1.0)]
Tree structure:
  | | | [BWI: (5.0,9.0)]
  | | (y=7.5) 2:0
  | | | [JFK: (5.0,6.0)]
  | (y=5.0) 5:2
  | | | | [SEA: (8.0,4.0)]
  | | | (y=2.5) 2:0
  | | | | [LAX: (8.0,2.0)]
  | | (x=7.5) 3:1
  | | | [ATL: (5.0,4.0)]
  (x=5.0) 9:4
  | | | | [ORD: (2.0,9.0)]
  | | | (y=9.0) 2:0
  | | | | [DFW: (2.0,8.0)]
  | | (y=8.0) 3:1
  | | | [DCA: (2.0,7.0)]
  | (y=5.0) 4:2
  | | [IAD: (2.0,1.0)]
insert(SFO): successful {San Francisco, (8.0,1.0)}
list:
  (x=5.0) 10:5
  (y=5.0) 6:3
  (y=7.5) 2:0
  [BWI: (5.0,9.0)]
  [JFK: (5.0,6.0)]
  (x=7.5) 4:2
  (y=2.5) 3:1
  [SEA: (8.0,4.0)]
  (y=1.25) 2:0
  [LAX: (8.0,2.0)]
  [SFO: (8.0,1.0)]
  [ATL: (5.0,4.0)]
  (y=5.0) 4:2
  (y=8.0) 3:1
  (y=9.0) 2:0
  [ORD: (2.0,9.0)]
  [DFW: (2.0,8.0)]
  [DCA: (2.0,7.0)]
  [IAD: (2.0,1.0)]
Tree structure:
  | | | [BWI: (5.0,9.0)]
  | | (y=7.5) 2:0
  | | | [JFK: (5.0,6.0)]
  | (y=5.0) 6:3
  | | | | [SEA: (8.0,4.0)]
  | | | (y=2.5) 3:1
  | | | | | [LAX: (8.0,2.0)]
  | | | | (y=1.25) 2:0
  | | | | | [SFO: (8.0,1.0)]
  | | (x=7.5) 4:2
  | | | [ATL: (5.0,4.0)]
  (x=5.0) 10:5
  | | | | [ORD: (2.0,9.0)]
  | | | (y=9.0) 2:0
  | | | | [DFW: (2.0,8.0)]
  | | (y=8.0) 3:1
  | | | [DCA: (2.0,7.0)]
  | (y=5.0) 4:2
  | | [IAD: (2.0,1.0)]
comment: Inserting PVD should trigger a rebuild at the root
insert(PVD): successful {Providence, (8.0,3.0)}
list:
  (x=5.0) 11:0
  (y=5.0) 7:0
  (y=7.5) 2:0
  [BWI: (5.0,9.0)]
  [JFK: (5.0,6.0)]
  (x=7.5) 5:0
  (y=2.5) 4:0
  (y=3.75) 2:0
  [SEA: (8.0,4.0)]
  [PVD: (8.0,3.0)]
  (y=1.25) 2:0
  [LAX: (8.0,2.0)]
  [SFO: (8.0,1.0)]
  [ATL: (5.0,4.0)]
  (y=5.0) 4:0
  (y=7.5) 3:0
  (y=8.75) 2:0
  [ORD: (2.0,9.0)]
  [DFW: (2.0,8.0)]
  [DCA: (2.0,7.0)]
  [IAD: (2.0,1.0)]
Tree structure:
  | | | [BWI: (5.0,9.0)]
  | | (y=7.5) 2:0
  | | | [JFK: (5.0,6.0)]
  | (y=5.0) 7:0
  | | | | | [SEA: (8.0,4.0)]
  | | | | (y=3.75) 2:0
  | | | | | [PVD: (8.0,3.0)]
  | | | (y=2.5) 4:0
  | | | | | [LAX: (8.0,2.0)]
  | | | | (y=1.25) 2:0
  | | | | | [SFO: (8.0,1.0)]
  | | (x=7.5) 5:0
  | | | [ATL: (5.0,4.0)]
  (x=5.0) 11:0
  | | | | [ORD: (2.0,9.0)]
  | | | (y=8.75) 2:0
  | | | | [DFW: (2.0,8.0)]
  | | (y=7.5) 3:0
  | | | [DCA: (2.0,7.0)]
  | (y=5.0) 4:0
  | | [IAD: (2.0,1.0)]
size: 11
delete-count: 0
size: 11
delete(ATL): successful
list:
  (x=5.0) 10:0
  (y=5.0) 6:0
  (y=7.5) 2:0
  [BWI: (5.0,9.0)]
  [JFK: (5.0,6.0)]
  (x=7.5) 4:0
  (y=2.5) 4:0
  (y=3.75) 2:0
  [SEA: (8.0,4.0)]
  [PVD: (8.0,3.0)]
  (y=1.25) 2:0
  [LAX: (8.0,2.0)]
  [SFO: (8.0,1.0)]
  [null]
  (y=5.0) 4:0
  (y=7.5) 3:0
  (y=8.75) 2:0
  [ORD: (2.0,9.0)]
  [DFW: (2.0,8.0)]
  [DCA: (2.0,7.0)]
  [IAD: (2.0,1.0)]
Tree structure:
  | | | [BWI: (5.0,9.0)]
  | | (y=7.5) 2:0
  | | | [JFK: (5.0,6.0)]
  | (y=5.0) 6:0
  | | | | | [SEA: (8.0,4.0)]
  | | | | (y=3.75) 2:0
  | | | | | [PVD: (8.0,3.0)]
  | | | (y=2.5) 4:0
  | | | | | [LAX: (8.0,2.0)]
  | | | | (y=1.25) 2:0
  | | | | | [SFO: (8.0,1.0)]
  | | (x=7.5) 4:0
  | | | [null]
  (x=5.0) 10:0
  | | | | [ORD: (2.0,9.0)]
  | | | (y=8.75) 2:0
  | | | | [DFW: (2.0,8.0)]
  | | (y=7.5) 3:0
  | | | [DCA: (2.0,7.0)]
  | (y=5.0) 4:0
  | | [IAD: (2.0,1.0)]
size: 10
delete-count: 1
delete(JFK): successful
list:
  (x=5.0) 9:0
  (y=5.0) 5:0
  (y=7.5) 1:0
  [BWI: (5.0,9.0)]
  [null]
  (x=7.5) 4:0
  (y=2.5) 4:0
  (y=3.75) 2:0
  [SEA: (8.0,4.0)]
  [PVD: (8.0,3.0)]
  (y=1.25) 2:0
  [LAX: (8.0,2.0)]
  [SFO: (8.0,1.0)]
  [null]
  (y=5.0) 4:0
  (y=7.5) 3:0
  (y=8.75) 2:0
  [ORD: (2.0,9.0)]
  [DFW: (2.0,8.0)]
  [DCA: (2.0,7.0)]
  [IAD: (2.0,1.0)]
Tree structure:
  | | | [BWI: (5.0,9.0)]
  | | (y=7.5) 1:0
  | | | [null]
  | (y=5.0) 5:0
  | | | | | [SEA: (8.0,4.0)]
  | | | | (y=3.75) 2:0
  | | | | | [PVD: (8.0,3.0)]
  | | | (y=2.5) 4:0
  | | | | | [LAX: (8.0,2.0)]
  | | | | (y=1.25) 2:0
  | | | | | [SFO: (8.0,1.0)]
  | | (x=7.5) 4:0
  | | | [null]
  (x=5.0) 9:0
  | | | | [ORD: (2.0,9.0)]
  | | | (y=8.75) 2:0
  | | | | [DFW: (2.0,8.0)]
  | | (y=7.5) 3:0
  | | | [DCA: (2.0,7.0)]
  | (y=5.0) 4:0
  | | [IAD: (2.0,1.0)]
size: 9
delete-count: 2
delete(BWI): successful
list:
  (x=5.0) 8:0
  (y=5.0) 4:0
  (y=7.5) 0:0
  [null]
  [null]
  (x=7.5) 4:0
  (y=2.5) 4:0
  (y=3.75) 2:0
  [SEA: (8.0,4.0)]
  [PVD: (8.0,3.0)]
  (y=1.25) 2:0
  [LAX: (8.0,2.0)]
  [SFO: (8.0,1.0)]
  [null]
  (y=5.0) 4:0
  (y=7.5) 3:0
  (y=8.75) 2:0
  [ORD: (2.0,9.0)]
  [DFW: (2.0,8.0)]
  [DCA: (2.0,7.0)]
  [IAD: (2.0,1.0)]
Tree structure:
  | | | [null]
  | | (y=7.5) 0:0
  | | | [null]
  | (y=5.0) 4:0
  | | | | | [SEA: (8.0,4.0)]
  | | | | (y=3.75) 2:0
  | | | | | [PVD: (8.0,3.0)]
  | | | (y=2.5) 4:0
  | | | | | [LAX: (8.0,2.0)]
  | | | | (y=1.25) 2:0
  | | | | | [SFO: (8.0,1.0)]
  | | (x=7.5) 4:0
  | | | [null]
  (x=5.0) 8:0
  | | | | [ORD: (2.0,9.0)]
  | | | (y=8.75) 2:0
  | | | | [DFW: (2.0,8.0)]
  | | (y=7.5) 3:0
  | | | [DCA: (2.0,7.0)]
  | (y=5.0) 4:0
  | | [IAD: (2.0,1.0)]
size: 8
delete-count: 3
delete(IAD): successful
list:
  (x=5.0) 7:0
  (y=5.0) 4:0
  (y=7.5) 0:0
  [null]
  [null]
  (x=7.5) 4:0
  (y=2.5) 4:0
  (y=3.75) 2:0
  [SEA: (8.0,4.0)]
  [PVD: (8.0,3.0)]
  (y=1.25) 2:0
  [LAX: (8.0,2.0)]
  [SFO: (8.0,1.0)]
  [null]
  (y=5.0) 3:0
  (y=7.5) 3:0
  (y=8.75) 2:0
  [ORD: (2.0,9.0)]
  [DFW: (2.0,8.0)]
  [DCA: (2.0,7.0)]
  [null]
Tree structure:
  | | | [null]
  | | (y=7.5) 0:0
  | | | [null]
  | (y=5.0) 4:0
  | | | | | [SEA: (8.0,4.0)]
  | | | | (y=3.75) 2:0
  | | | | | [PVD: (8.0,3.0)]
  | | | (y=2.5) 4:0
  | | | | | [LAX: (8.0,2.0)]
  | | | | (y=1.25) 2:0
  | | | | | [SFO: (8.0,1.0)]
  | | (x=7.5) 4:0
  | | | [null]
  (x=5.0) 7:0
  | | | | [ORD: (2.0,9.0)]
  | | | (y=8.75) 2:0
  | | | | [DFW: (2.0,8.0)]
  | | (y=7.5) 3:0
  | | | [DCA: (2.0,7.0)]
  | (y=5.0) 3:0
  | | [null]
size: 7
delete-count: 4
delete(ORD): successful
list:
  (x=5.0) 6:0
  (y=5.0) 4:0
  (y=7.5) 0:0
  [null]
  [null]
  (x=7.5) 4:0
  (y=2.5) 4:0
  (y=3.75) 2:0
  [SEA: (8.0,4.0)]
  [PVD: (8.0,3.0)]
  (y=1.25) 2:0
  [LAX: (8.0,2.0)]
  [SFO: (8.0,1.0)]
  [null]
  (y=5.0) 2:0
  (y=7.5) 2:0
  (y=8.75) 1:0
  [null]
  [DFW: (2.0,8.0)]
  [DCA: (2.0,7.0)]
  [null]
Tree structure:
  | | | [null]
  | | (y=7.5) 0:0
  | | | [null]
  | (y=5.0) 4:0
  | | | | | [SEA: (8.0,4.0)]
  | | | | (y=3.75) 2:0
  | | | | | [PVD: (8.0,3.0)]
  | | | (y=2.5) 4:0
  | | | | | [LAX: (8.0,2.0)]
  | | | | (y=1.25) 2:0
  | | | | | [SFO: (8.0,1.0)]
  | | (x=7.5) 4:0
  | | | [null]
  (x=5.0) 6:0
  | | | | [null]
  | | | (y=8.75) 1:0
  | | | | [DFW: (2.0,8.0)]
  | | (y=7.5) 2:0
  | | | [DCA: (2.0,7.0)]
  | (y=5.0) 2:0
  | | [null]
size: 6
delete-count: 5
comment: Deleting DFW should trigger a full rebuild
delete(DFW): successful
list:
  (x=5.0) 5:0
  (y=4.0) 4:0
  [SEA: (8.0,4.0)]
  (y=2.0) 3:0
  (y=3.0) 2:0
  [PVD: (8.0,3.0)]
  [LAX: (8.0,2.0)]
  [SFO: (8.0,1.0)]
  [DCA: (2.0,7.0)]
Tree structure:
  | | [SEA: (8.0,4.0)]
  | (y=4.0) 4:0
  | | | | [PVD: (8.0,3.0)]
  | | | (y=3.0) 2:0
  | | | | [LAX: (8.0,2.0)]
  | | (y=2.0) 3:0
  | | | [SFO: (8.0,1.0)]
  (x=5.0) 5:0
  | [DCA: (2.0,7.0)]
size: 5
delete-count: 0
delete(DCA): successful
list:
  (x=5.0) 4:0
  (y=4.0) 4:0
  [SEA: (8.0,4.0)]
  (y=2.0) 3:0
  (y=3.0) 2:0
  [PVD: (8.0,3.0)]
  [LAX: (8.0,2.0)]
  [SFO: (8.0,1.0)]
  [null]
Tree structure:
  | | [SEA: (8.0,4.0)]
  | (y=4.0) 4:0
  | | | | [PVD: (8.0,3.0)]
  | | | (y=3.0) 2:0
  | | | | [LAX: (8.0,2.0)]
  | | (y=2.0) 3:0
  | | | [SFO: (8.0,1.0)]
  (x=5.0) 4:0
  | [null]
size: 4
delete-count: 1
delete(LAX): successful
list:
  (x=5.0) 3:0
  (y=4.0) 3:0
  [SEA: (8.0,4.0)]
  (y=2.0) 2:0
  (y=3.0) 1:0
  [PVD: (8.0,3.0)]
  [null]
  [SFO: (8.0,1.0)]
  [null]
Tree structure:
  | | [SEA: (8.0,4.0)]
  | (y=4.0) 3:0
  | | | | [PVD: (8.0,3.0)]
  | | | (y=3.0) 1:0
  | | | | [null]
  | | (y=2.0) 2:0
  | | | [SFO: (8.0,1.0)]
  (x=5.0) 3:0
  | [null]
size: 3
delete-count: 2
comment: Deleting SEA should trigger a full rebuild
delete(SEA): successful
list:
  (y=3.0) 2:0
  [PVD: (8.0,3.0)]
  [SFO: (8.0,1.0)]
Tree structure:
  | [PVD: (8.0,3.0)]
  (y=3.0) 2:0
  | [SFO: (8.0,1.0)]
size: 2
delete-count: 0
delete(SFO): successful
list:
  (y=3.0) 1:0
  [PVD: (8.0,3.0)]
  [null]
Tree structure:
  | [PVD: (8.0,3.0)]
  (y=3.0) 1:0
  | [null]
size: 1
delete-count: 1
comment: Deleting PVD should trigger a full rebuild
delete(PVD): successful
list:
  [null]
Tree structure:
  [null]
size: 0
delete-count: 0
