完全黑暗。
不是没有光——是眼睛睁着和闭着没有区别的那种黑。林夜站在B2层入口内侧,背靠着已经闭合的防火门,用耳朵数这个空间里的声源。
他的呼吸。王磊的呼吸,右后方约两米。防火门钢板冷却时极轻微的热胀冷缩,在背后发出细小的咔嗒声。远处某个地方,水珠从管道的接口往下滴,约每十几秒一滴。还有一个更细微的、几乎听不到的电流声——天花板某根线缆还在通电,在完全安静的环境里发出超出人耳正常接收范围的振荡。
五个声源。他现在只能用这个画地图。
他往前走。脚尖先点地,确认地面没有断裂或空洞,再落下重心。鞋底踩在粗糙的水泥地面上,有细微的沙沙声。混凝土的质地——不是楼梯间的钢板,是旧世界地下室原本就有的那种水泥地坪。这里被系统改写的程度比其他区域低。黑暗是旧的黑暗,不是黑雾。
他走了三步,停下来,伸手往右边摸。手指碰到墙壁——混凝土砖墙,砖缝里的水泥砂浆已经老化,指尖摸过去能感觉到细小的砂粒往下掉。墙壁上有管道。一根直径约五厘米的金属管沿着墙壁水平延伸,到腰部高度拐了个弯往上走。消防水管。旧世界的消防水管还在。
“王磊。你在哪。”
“这里。”右前方。不到三米。没有位移。
“站那别动。”
林夜继续沿着水管往前。管道在指腹下微微振动——楼上的某台水泵还在运行,把水压从地面送到每一层。旧世界的基础设施没有完全死掉。他数着自已的步子走到第二十步时,管道拐了第二个弯,折进墙壁内部。墙壁在这个位置有一个凹陷——不是门,是消防栓的嵌入式箱体。玻璃门已经被打碎了,碎片堆在地上,踩上去发出细小的嘎吱声。他伸手摸进箱体内部——空的。消防水带被取走了。
然后他听到了呼吸。
不是王磊的。王磊在他身后某个他还没重新确认的位置。这个呼吸在前方,偏左,约四五米。频率很慢——约六秒一次完整呼吸。不是刻意控制,是身体代谢减缓之后的自然节律。一个人在黑暗里待了很久,身体已经适应了低耗氧状态。
“我是来回应求救信号的。”
沉默。呼吸还在,频率没变。对方听到了,但没立刻回应。
然后那个沙哑的声音响起。和之前从空气里传来的“有人吗”是同一个声带,但比那时候更稳定——像很久没说话的人在重新适应声带。“你是第几个。”
又是这个问题。和走廊拐角那个半转化者问的一模一样。
“你先告诉我你是第几个。”
沉默延长了几秒。然后对方说:“我还没有被数到。”
不是“我是第几个”——是“还没有被数到”。这个人知道计数机制。他还没有轮到自已,但他知道轮到的后果。
“你被困在这里多久了。”
“三天。也可能是四天。没有光,分不清白天和晚上。系统的时间在这里是断的。”
三天或四天。林夜朝声音的方向走了两步。脚尖碰到金属——不是人,是一截管道,横在地上。他用脚顺着管道往前探:弯头、法兰盘、消防水带的帆布外层。这个人用消防栓箱里的水带和管道碎片搭了一个简易的围挡,把自已围在中间。不是防御——是标记。标记“这里有一个人”,让黑暗里靠近的东西不至于踩到自已。
“我叫林夜。”
对方沉默了片刻,然后说出了一个名字:“陈安。第四区清扫队。”
清扫队。这两个字让林夜的思维瞬间重组。老方是第四组组长。老方今早还在敲他的门。老方没有提过他有一个队员被困在B2层三天。
“老方知道你在这么。”
沉默。这次沉默比之前任何一次都长。
“老方还活着?”陈安的声音变了——从陈述变成反问,从平变成了不平。
他还活着,但被困者不知道。三天前陈安被困,之后清扫队照常执行外勤。敲门。签协议。发接入器。老方没有在交易频道里发过寻人启事,没有提过“我有个队员失踪了”,没有组织过任何救援。他甚至没有告诉林夜这栋楼里还有另一个清扫队成员。
“活着。”林夜说。“今早我们交易过。”
陈安没有回应。但林夜听到他的呼吸变了——从六秒一次变成了四秒一次。不是紧张。是大脑在高速运转,耗氧量增加。陈安正在从林夜带来的这一条信息里推导出某些只有他自已知道的结论。
“你的污染值在上升吗。”
“没有。”陈安的声音恢复了之前那种被长时间独处打磨过的平淡。“11%停了。一天半没动过。系统说平台期。轻度污染第二阶段,稳定。但系统没告诉我为什么稳定。”
平台期。林夜想起自已的左脚——净化之后残留的污染也在平台期。鉴定报告说“可逆”,净化协议只清到1.2%,剩下的纹丝不动。污染不是线性增长的,是有阶梯的。每到一个平台期就停下来,然后不知道什么条件触发下一段爬升。陈安在11%已经停了一天半。如果林夜能搞明白是什么让它停的,也许能用在自已身上。
“你在电梯井里看到了什么。”
陈安的呼吸又变回了六秒一次。他在组织语言,或者回忆某些不确定要不要说的内容。
“电梯井里没有电梯。旧世界的电梯门打开之后不是轿厢,是一个垂直空腔,从B2一直通到顶楼以上。井壁上全是手写的数字,从1一直排到47。B2层井壁上的数字是47。”
第四次。半转化者掌心。交易频道在线人数。第六次借贷画面里王磊念的数字。现在井壁上的也是47。
“你刻的?”
“不是。我到的时候已经在上面了。而且是排好的——从1开始,写到47。越往上数字越小,越往下数字越大。B2是47。如果下面还有一层,应该是48。”
数字对应的不是编号。是深度。从地面开始数,数到B2是第47个。如果B3是48,B4是49,那这栋楼的总深度是多少?多深才到尽头?尽头是0还是别的?
“47的下面有字。”陈安说。“很小。我手指被污染影响,触觉不太准了。摸不出来写的是什么。”
林夜把这个位置记住。47号位下方。陈安摸不出来的字。他要自已去摸。
然后王磊开口了。
“你说井壁上全是数字。从1到47。你往上走过吗。”
林夜的注意力从陈安转向王磊的方向。这是王磊在B2层黑暗里问的第一个问题——不是“你怎么活下来的”,不是“需要什么帮助”。是关于数字。关于数字是谁写的。
“走过一段。”陈安说。
“走到多少。”
“十几。具体记不清了。十层以上数字太小,摸起来像1和2。”
黑暗中王磊沉默了两秒。然后他说:“你应该走到20以上。”
不是提问。不是建议。是陈述。语气和他在旧世界里发现同事加班太晚时说的“你应该早点回去”一模一样。
陈安没有回答。
林夜握紧刀柄。他不知道王磊这句话是从哪来的。王磊从昨晚到现在没进过B2层,没靠近过电梯井,没见过陈安。他不应该知道陈安应该走到哪一层。
然后王磊又说了一句。
“20层以上的数字旁边刻了名字。”
陈安的呼吸变了——从六秒一次变成了四秒一次。林夜听到了这个变化。黑暗里任何节律的改变都比光天化日之下清晰十倍。
“你怎么知道。”陈安的声音不再是平淡的了。有警觉。有不确定。有一点点——被说中之后的寒意。
“因为你在那边。”王磊的语气是关心。正常的关心。旧世界里发现同事出事时会用的那种语气。“你走了三天才走到B2。你在20层停了一整天。你在那层留了字。你说‘陈安到此。不要往上。上面不是出口’。”
沉默。
陈安的沉默。
林夜的沉默。
两个人的沉默不一样——陈安是被说中了,林夜是听懂了。
王磊不可能知道这些。三天前他在敲代码。他不可能知道陈安在电梯井里走了三天,不可能知道陈安在20层停了一整天,不可能知道陈安在墙上留了什么字。除非他知道的不是信息——是陈安。他在读取陈安的记忆。不是从自已的数据库里调取——是从陈安的数据库里。同一个东西在两个人的体内运行,把两个人连成了同一个网络的两个节点。
陈安的沉默持续了很久。然后他开口,声音比之前更慢,每一个字都像是斟酌过才放出来:“你在第几层被数的。”
王磊没有回答这个问题。
林夜替他回答了:“他不是清扫队的。他是昨天跟我一起被困的同事。”
陈安的呼吸在这一瞬间停了——不是六秒一次的正常停顿,是骤然中断,像某条电路被切断了。几秒后他才重新开始呼吸。频率从四秒一次变成了三秒一次。和林夜自已的呼吸频率一样。
“他不是清扫队的。”陈安重复了一遍。不是反问,是确认。
“不是。”
“那他怎么知道我留的字。”
没有人说话。防火门的钢材在冷缩时发出极轻的咔嗒声。远处管道的水滴还在十几秒一滴。天花板上的电流声还在。
林夜靠在防火门上,刀放在膝盖上,手指搭着刀柄。他把刚才那段对话重新放了一遍。王磊读出了陈安三天来的行踪——在哪一层停过,留了什么字,字的内容一字不差。王磊体内的进程在B2层被激活了。或者——它是进入B2层之后才获得了读取其他被进程感染者的能力。之前它只能读取林夜,因为林夜是最近的、和王磊共处时间最长的宿主。现在它遇到了另一个被感染的节点,自动建立了连接。
同一个网络。两个终端。林夜是被排除在外的那个。
他不能再同时带着两个人走。陈安体力有限,在黑暗里移动需要人扶着,走不快。王磊在黑暗里可以位移到任何位置——他不需要扶,他需要被看着。但如果把王磊留下,等于把两个被同一个进程连在一起的人放在同一个黑暗空间里,让他们独处。进程会在他们之间交换什么信息,林夜无法监听。
带着王磊继续往下,等于带着一个会读取所有感染者记忆的移动终端。危险,但有用。把王磊留在B2,等于让两个终端在黑暗里自由通信,不知道下次见面时他们会变成什么。更危险。
“王磊。”
“嗯。”从右边。很近。不到一米。
“你留在这里。我去电梯井看一眼就回来。”
沉默。呼吸还在那个节拍上——三秒吸,三秒呼。和陈安六秒一次的呼吸交替运行。陈安吸的时候王磊呼,陈安呼的时候王磊吸。像一台双缸发动机的两个气缸。林夜刚才一直在听两人的对话,现在才注意到这个节律。他们不是各呼吸各的——是交替的。互补的。同一个节律分给了两个人。
“你确定?”王磊说。语气正常。关心。旧世界的王磊在同事要独自去危险的地方时会用的语气——不拦你,但让你再想一遍。
“确定。”
林夜站起来。他把多功能刀折开,握在右手里。左手摸着墙壁,沿着消防水管的走向,往陈安说的电梯井方向移动。一步。两步。三步。脚下的水泥地面粗糙而完整。水管在手指下持续振动——楼上的水泵还在转。旧世界还在习惯性地维持着早已无人需要的水压。
晶体钥匙在口袋里跳了一下。不是升温——是物理上的跳动。一次。像心跳漏了一拍。
身后,两个人的呼吸在黑暗里交替。陈安六秒一次。王磊三秒一次。陈安吸,王磊呼。陈安呼,王磊吸。频率很稳。齿轮咬合运转。
林夜继续往前走。他没有回头。但他走到第五步时——离防火门大约五步,离电梯井还有不知多少步——身后两个人的呼吸同时停了半秒。然后同时恢复。
这次不是交替。
是一起吸,一起呼。
同步。
他把刀握得更紧。没有停步。左手沿着水管的走向继续往前摸。消防水管在某个位置拐了第三个弯,往上进入墙壁。电梯井应该在走廊尽头再左拐。陈安说电梯门还保留着旧世界的样子——不锈钢门框,上下两扇门板,门缝中间有一个可以用工具撬开的缺口。
脚下的地面开始出现碎片。踩上去嘎吱响——不是玻璃,是塑料。办公设备的塑料外壳碎片。键盘。显示器边框。被踩碎了,碎得很均匀。不是一个人经过——是多个人,或者一个人反复来回,把掉在地上的塑料件全部碾成了均匀的碎片。
走廊尽头,左拐。他摸到了墙壁的转折。左手沿着墙面拐过去,指尖先碰到了金属——光滑,冰凉,垂直的面。不锈钢门框。电梯门。
他摸到了门缝。竖着的细缝,两扇门板之间的缝隙。手指塞不进去,但刀片可以。
林夜把多功能刀的刀刃插进门缝,轻轻一撬。门板纹丝不动。不是卡住了——是另一侧有东西在挡住。不是锁,不是障碍物。是压力。门板被从内侧吸住了,像冰箱门。密封的不是空气——是负压。电梯井内部的气压比B2层低。空气在往井道里漏。
他把耳朵贴在门板上。钢板的低温传进耳廓。
门板另一侧,有声音。不是风声,不是管道振动。是刮擦声。
一下。停。一下。停。指甲划过水泥井壁的声音。从下往上。很深的位置,可能在B3层,也可能是B4。但声音在上升。不急。很有耐心。像一个人用指甲在井壁上做标记——每隔一段划一下——然后继续往上爬。
晶体钥匙在口袋里又跳了一下。然后是第二下。间隔和刮擦声的间隔完全一致。
林夜把刀从门缝里拔出来,握在右手里。左手继续沿着电梯门框往下摸——门框底部有一个长方形的凹槽,是旧世界电梯门的检修口。检修口的金属盖板已经被撬掉了,撬痕是旧的,陈安三天前进井时留下的。
一个刚好可以容一个人钻进去的洞。
完全的黑暗从洞口里涌出来。和B2层的黑暗一样,没有温度,没有气味,光在这里无效。
他把手伸进洞口,摸到了井壁。
粗糙。水泥。上面有刻痕。横向的,一道一道,整齐排列。他从左往右摸——第一道,第二道,第三道,第四道。数字。不是阿拉伯数字,是汉字数字——不是用手写的,是用指甲刻的。每一笔都很深,刻完之后指尖在笔画末端留下的收笔痕迹都能摸到。
一。二。三。四。五。
从洞口位置往上。越往上数字越小。
往下。他在检修口边缘往下摸。井壁垂直往下,他的手能摸到检修口下方约半米的距离。四十四。四十五。四十六。四十七。
四十七号位的刻痕比其他数字更深。不是指甲——是指尖。直接用手指的软组织在水泥上摁出来的。摁完之后手指可能出血了。血迹已经干了,摸起来是硬的,和水泥融为一体。
四十七的下面,还有一道痕迹。
不是数字。是字。很小。刻得很浅。陈安的手指被污染影响,触觉不准,摸不出来。但林夜的手指是完好的。
他用食指指腹从左往右摸。
第一横。第二横。第三横的起笔位置比第一横靠左。一个“一”。第二个字:撇,横,竖,撇,捺,斜钩。不是写得很工整的版本——是手指在水泥上快速刻出来的简笔。第三个字:竖,横折,横,横,竖,横折,横,横。两个字连在一起。他把两个字在脑子里复原成完整的形状。
林。夜。
他的名字。写在47号位正下方。写在47和48之间。他不是还没有被数到——是已经被数过了,数字还没写上去。47是上一个被数到的。他是下一个。
他把自已从井壁里撑起来,背靠着电梯门框。刀还在右手里。晶体钥匙在口袋里持续跳动,频率和井道深处的刮擦声完全同步。钥匙不是感应在靠近锁——是在感应那个正在往上爬的东西。
身后,B2层的某个方向,两个人的呼吸还在交替运转。三秒一次,六秒一次。陈安和王磊。互补。然后在他离开之后的第五步变成了同步。一起吸,一起呼。
像两个终端收到了同一条指令。