小王最近迷上了一款走迷宫游戏,这款走迷宫游戏在一个三维空间中运行,玩家在迷宫中可以通过操作手柄,每次进行上、下、左、右、前、后6个方向的移动。游戏进行过程中会出现以下两种操作中的一种:
1 x y z在迷宫的位置C(x,y,z)开放一个新的出口(原有的出口依然可用)。
2 x y z玩家出现在这个迷宫的位置Q(x,y,z)处。
对于每次操作2,玩家需要通过操作最少次数的手柄去到达一个出口,离开迷宫,输出此时的最少操作次数。
(保证第一次操作一定是操作1,也就是保证一定有出口)
给定一个t,代表t组测试数据。(1<=t<=12)
每组测试数据在一行给定一个n,m,h,q。(1<=n*m*h<=1e5,∑n*m*h<=5e5,1<=q<=1e5)
接下来q行,每行给定op,x,y,z。(1<=op<=2,1<=x<=n,1<=y<=m,1<=z<=h)
每组测试数据,针对每个操作2,输出最少操作手柄的次数。