Four completely motionless bodies—two of them Russians—were sprawled on the floor. Three wounded men—one of them Russian—had given up all thought of continuing the fight and were trying to roll or crawl clear of the rapidly spreading lake of burning solvent. The exit lay on the opposite side of the flames; Sokolov was trapped in this end of the apartment. All the gunfire was happening at the other end. Through the rippling air above the fire, Sokolov saw men on their feet and knew them as enemy, since his Spetsnaz boys would never expose themselves so stupidly. Aiming and firing over the flames, he brought down five with as many shots. But the mere fact that they were standing there in that attitude all but proved that Sokolov’s men were either dead or had withdrawn into the corridor.
A can of something went up in a great whoosh of flames that forced him back out of the room and into the place where they mixed the ANFO. He began to push the door closed. All the windows in the space behind him had been destroyed by stray rounds, and the fire, ravenous for oxygen, was sucking a torrent of air through them. The wind got its teeth in the door and slammed it closed. Small round holes began to appear in it, and splinters flickered around the room.
THE AMOUNT OF noise emanating from the apartment above was literally shocking in the sense that Marlon and his friends reacted to it in a physical way, as though giant hands were squeezing their viscera. Their instinct was to squat down on the floor. A line of craters appeared across their ceiling. It took them a surprisingly long time to get it through their heads that these had been made by bullets.
If strangers had begun pounding on their door, they might have reacted a little more quickly. They had always speculated as to what they might do if the virus project led to a police raid. Most of that discussion had been in the same vein as “What if Xiamen got taken over by zombies?” Because the odds that the PSB would trouble itself over the activities of a nest of virus writers were not much higher than those of a zombie plague. But they had talked through it anyway and agreed that departing via the building’s main stairway was out of the question. The cops, or the zombies, would be there in force. More important, it was not nearly clever or cool enough; it was lacking in hacker flair.
Power in the building was undependable, and so they had uninterruptible power supplies—UPSes—on their computers, to provide battery backup during blackouts. The UPSes had alarms that would squeal whenever the power was out; this was a warning to shut down the computer before the battery died.
This morning, Marlon had been awakened by the sound of several UPSes buzzing and squealing. Nothing terribly unusual about that. Usually, though, when the power went down, it stayed down for a while, and the squeals continued. But not today. Today there had been a brief outage, lasting well under a minute. Enough to wake Marlon up. But a few minutes later there had been a whole series of brief ones that had made the alarms squeal in a repetitive pattern: groups of three beeps, sometimes shorter, sometimes longer.
Someone had been trying to send them a signal. He had no idea who was doing it, or what the message was, but something about it had triggered every paranoid nerve in Marlon’s body. He had thought back to their evacuation plan. He knew his roommates quite well and thought it likely that they had arrived at the same state of mind.
If a zombie attack had actually materialized, then they might have had a clue as to how to respond. But a stupendous machine-gun free-for-all in the apartment above them was not an eventuality that they had ever thought of and so it froze them for a time.
They really didn’t want to know, or to be bothered by, their neighbors; and so they had always tried to do unto their neighbors in exactly the same way. This was a fixed policy of Marlon’s. He was the oldest, at twenty-five. He had been living in places like this for about ten years, or ever since he had dropped out of middle school to become a