answered as follows. If a query range $[a,b]\times [0,h]\times[0,z]$ is entirely contained in one horizontal slab $H$, we answer the query using the data structure for $H$. If a query is contained in one vertical slab $V$, we answer the query using the data structure for $V$. Suppose the query intersects several horizontal slabs and several vertical slabs. Let $H_j$ denote the horizontal slab that contains $h$; let $V_a$ and $V_b$ denote vertical slabs that contains $a$ and $b$ respectively. A query is split into four parts, see Fig. \[fig:grid\] in Section \[sec:figures\]. The central part is aligned with slab boundaries, three other parts are contained in slabs $V_a$, $V_b$, and $H_j$ respectively. Let $a'$ denote the $x$-coordinate of the right boundary of $V_a$ and let $b'$ denote the $x$-coordinate of the left boundary of $V_b$. Let $h'$ denote the $y$-coordinate of the lower boundary of $H_j$. We can report points in $[a',b']\times [0,h']$ using the top data structure. We ask dominance queries $[0,b]\times [0,h]$ and $[a,+\infty)\times [0,h]$ to slabs $V_a$ and $V_b$ respectively. We ask a three-sided query $[0,h]\times [a',b']$ to horizontal slab $H_j$. A query to the top data structure and two dominance queries take $O(\log^{{\varepsilon}}n)$ time. The 