At two thirty in the morning, the streetlights in Upper Manhattan cast a yellow glow over all of Broadway, as if it were steeped in yesterday's tea.
Darnell pedaled the Roadster Bicycle, his legs pumping up and down like pistons, sending it hurtling across the empty asphalt at the speed of a dirt bike.
Lin An sat sideways on the back, one hand on Darnell's shoulder as he turned over the four feature phones in his pocket again and again.
A Nokia, a Motorola, a Samsung, and a flip phone from a brand he didn't recognize.
They were all the cheapest prepaid phones, the kind you could buy for twenty dollars at a corner grocery store. No ID needed, and you could just throw them away when you were done.
There had to be information he wanted on one of the four phones, but all their lock screens showed the same four-digit passcode prompt.
He tried a few number combinations. Every one was wrong. Two of the SIM cards had already locked after too many attempts, and the other two had two tries left each.
"Bro, what are you doing?"
"Trying to unlock the phones."
"Just toss them. They're not worth anything. You can't sell them."
"The phones aren't worth anything, but what's inside might be."
"What's inside?"
"I don't know yet."
Darnell glanced back, not slowing down at all.
The bicycle cut across a manhole cover at a tricky angle. The frame jolted, and Lin An swayed with it.
"You know what my mom says?"
Darnell had started in on his trademark lectures again.
"She says God has a path for everyone. Just walk your own path, and stop thinking about rummaging through other people's bags... Bro, what you're doing right now is rummaging through someone else's bag."
"I found this bag."
"It's still someone else's bag."
"It's my bag now."
"Okay, fine, your bag. Can you open it?"
"No."
"So your bag rejected you... What does that mean? It means God is telling you... stop rummaging."
Lin An didn't answer.
Bullet Screen comments streamed along the edge of his vision.
[Hahahaha God: I'm the one who set that passcode]
[Darnell's theology lesson today: The relationship between phone passcodes and the will of God]
[Don't listen to him, streamer. Just toss them into the System Store. I'll unlock them for you]
[Yeah, send them in. Cracking a 2009 feature phone with 2026 tools is total overkill]
[I had a Nokia 6300 and forgot the passcode. Last year, I cracked it in ten minutes with open-source tools]
[Ten minutes? I just unlocked a Motorola V3 last month in three minutes. Got both the PIN and PUK]
[You guys are picking on phones that can't fight back]
[Picking on the elderly, huh]
Lin An read the comments, the corners of his mouth lifting slightly.
He weighed the phones in his palm, then closed his fingers as if performing a magic trick. All four phones, both in his hand and in his pocket, vanished at once.
A moment later, the Live Stream Store icon flickered in Lin An's vision. Someone had redeemed the four phones.
The live stream chat began to flood with comments.
[Who was that fast?]
[Couldn't you have given me a chance to show off?]
[All four phones are connected to a computer and running a dictionary attack. The passcodes are four digits, right?]
[The flip phone is an UTStarcom. They made PHS phones back then. Its security system was practically nonexistent. Two minutes, tops]
[Hurry up. I want to see what's on them]
[Maybe it's just the address book of a few drug dealers]
[Drug dealers wouldn't use phones this old, would they?]
[Drug dealers in 2009 used these. What did you expect? The iPhone 3G just came out, and it was crazy expensive. Who'd use one for dirty work?]
"Bro."
Darnell suddenly spoke.
"You killed someone again tonight."
Lin An looked away from the comments and focused on the real world again.
"Yeah."
Lin An's tone was as calm as if he were confirming the date.
Darnell's pedaling didn't change, but he fell silent for a long while.
"Bro, did you take care of the bodies? I mean the ones from tonight, and the ones from before, too.
"I know you're a wizard and can make bodies disappear, but that's only temporary. They haven't vanished forever. If you don't know how to dispose of them, we can find an empty lot in the suburbs tomorrow and dig a hole to bury them."
[What's with Darnell? Suddenly he's thinking straight]
[There's no need, actually. Those cadavers are in high demand]
[But Darnell doesn't know that. This Ni Ge is pretty loyal, though]
"Thanks for offering, but I've already taken care of it."
"Really?"
"Really. There's no problem."
Darnell's kindness made Lin An smile.
Just then, someone sent Lin An a gift.
It was a sheet of paper.
[Streamer, take a look. This is what I found when I cracked them]
Lin An took out the paper.
The wind immediately swept over them, making it flap in his hands. He pressed it down with his thumb and began to read by the streetlight.
The information on the paper was divided into four sections, one for each phone. Each section had a bold heading listing the model and IMEI number, followed by all the data that had been recovered.
The first was a Nokia 1100. Its contact list had only seven numbers, none saved under a name. Each was labeled with a single letter: A, B, C, D, E, F, G.
The call log showed that over the past three days, the phone had contacted only one number... the one labeled "G." The calls had all been brief, the shortest lasting nine seconds and the longest less than two minutes.
The text messages had been wiped. Both the inbox and the outbox were empty.
The person who cracked it had added a note in red below: [Tried to recover deleted messages, with no success. The Nokia 1100's storage chip is too small. Once overwritten, the data cannot be recovered.]
The second was a Motorola V3.
Its contact list was just as sparse, with eight numbers labeled "Person 1" through "Person 8." "Person 1" had the same number as "G" on the Nokia.
Several text messages remained:
"The goods are here. Same place as usual."
"What time?"
"Eight."
"Got it."
All of the messages had been sent to "Person 1."
The call log showed that over the past week, besides frequent calls to "Person 1," the phone had also made three calls to numbers with different area codes.
The person who cracked it had listed those numbers separately, along with their locations... Brooklyn, Queens, and the Bronx.
The third was a Samsung SGH-X480.
This phone had the most information.
Its contact list contained twenty-three numbers, labeled with names like "Driver," "Big Guy," "Little Guy," "Accountant," and "Lawyer."
Clearly, the owner was in charge of coordinating things.
A large number of undeleted text messages had been preserved, spanning about two weeks.
The person who cracked the phone had copied out the key messages.
"What time tomorrow?"
"Same time, same place."
"The last one didn't know how to behave. We took care of it."
"Got it."
"The new stuff this time isn't pure enough. The boss isn't happy."
"Tell him."
"I did. He said he'd make it up next time."
"There won't be a next time."
And the last few messages, timestamped early that morning:
"The goods are here. Where are you?"
"Same place."
"Are they there?"
"They're here."
"Do it."
The call log showed that the number contacted most often was, once again, "G."
The fourth was a flip phone made by UTstarcom.
This phone was the cleanest.
It had only three contacts. All the calls were to the same number: the one labeled "G" on the other three phones.
There were two text messages, both from that same number.
"You just drive."
"They'll contact you when you get there."
The person who cracked it had added a note: [The owner of this phone was likely responsible for driving and keeping watch. It was brand-new, activated just ten days ago, and had no contacts other than the number labeled G. Most likely, it was a disposable phone provided specifically for this operation.]
Lin An folded the paper back up and put it in his pocket.
The bicycle had already entered Queens. The streets were narrower, and the streetlights stood farther apart. The buildings along the roadside had changed from Manhattan's high-rise apartments to detached two- and three-story houses. Some had discarded furniture and rusty car parts piled up in their front yards.
Darnell looked back at Lin An.
"After you read that paper, you started smiling. It's freaking me out."
"I'm not smiling."
"The corners of your mouth are almost up to your ears."
Lin An thought about it.
"A little, maybe."
"What did the paper say?"
"Something useful. It might help us find some fun."
The next morning, when Lin An appeared at the entrance to the 103rd Precinct, sunlight was streaming in from the east, stretching the shadow of that forever-broken fluorescent light into a long stripe.
He pushed the door open. Its hinges were still in their death throes, letting out a low groan.
The officer on duty at the front desk had changed. A Latina officer in her thirties sat behind it, her hair tied back in a neat ponytail and her uniform crisply pressed. She saw Lin An and her eyes lit up.
"Dr. Lin An? Good morning."
"Good morning."
Lin An nodded, a little surprised that she knew who he was.
"Patrick told us today that you'd be coming in to help everyone with their tax forms over the next few days. We've got the conference room ready for you."
She hesitated, then lowered her voice.
"I brought my mom's tax forms, too. She doesn't live with me, but I keep thinking she filed them wrong... Would you mind?"
"Of course not."
Lin An smiled and headed up the stairs.
A Black officer in uniform came out of the break room with a cup of coffee. When he saw Lin An, he paused, then grinned.
"Hey, you're that Chinese doctor, right? Inspector Morales mentioned you."
"Lin An."
"My name's Carter."
The officer freed one hand to shake his.
"I'm on the afternoon shift. Will you be in the conference room then? I've got some numbers on my 1099 forms that don't add up."
"You can come by the conference room now, or tomorrow. I have to go back to school this afternoon. My advisor needs me to do something."
"Great."
Carter patted his shoulder and hurried off with his coffee.
Lin An pushed open the conference room door.
Five people were already seated inside.
Four men and one woman, all in plainclothes or uniforms, sat with folders and manila envelopes piled on the table in front of them. When they saw Lin An enter, nearly all of them stood up at once.
"Dr. Lin An?"
"That's me."
"Great. I'm Jeffrey. I work in the evidence room. Here are my tax forms. Last year I got a CP2000 notice saying I'd underreported some income..."
"One at a time."
Lin An took the seat at the head of the table and pulled a pen and a stack of blank sheets of lined paper from his backpack.
"Who's first?"
Over the next hour, the conference room door opened and closed, closed and opened again.
More people came than expected.
Some came with questions, some brought a whole year's worth of paperwork for a "checkup," and others had simply heard a colleague say, "There's a PhD at the precinct offering free help," and brought over the tax returns of their wives, brothers, and even neighbors.
Lin An took his time, looking through them one by one.
Bullet Screen comments flew past at the edge of his vision, providing real-time support on everything from tax code provisions to specific calculations. He only had to read them aloud, write things down, and occasionally ask a few key questions.
"You sold any stocks last year? Do you have a 1099-B?"
"Did your wife change jobs in 2023? Was the tax withholding code on her W-2 A or B?"
"After your father passed away, did you report the rental income from his house on Schedule E?"
Every question was precise, and every recommendation was actionable.
When the visitors left with the numbers and steps he had written down, the looks on their faces had changed from anxious to incredulous.
"That's all there is to it?"
"That's all there is to it."
"I really don't need to hire an accountant?"
"You really don't."
The last person to leave was Carter, the officer Lin An had met in the hallway.
His problem was indeed simple: a dividend payment on his 1099-DIV had been reported twice. Lin An pointed out the error and told him to contact his brokerage and request a corrected form.
After Carter left, the conference room fell quiet.
The clock on the wall showed 10:40 a.m.
Lin An gathered the documents on the table and took a sip of his coffee, which had gone completely cold.
[The streamer's pulled this off so well, he's practically made the 103rd Precinct his home.]
[No kidding. The front desk knows him, people in the hall know him, and there's a bunch of people waiting in the conference room. They're treating him like one of their own.]
[The best part is, he's doing it for free. Where else in America can you find free tax advice, especially from someone with a PhD?]
[Police officers are people too. They have to make ends meet. A few hundred dollars in tax refunds could be a month's living expenses or rent for them. Without that money, they might have a hard time for a long while.]
[That's how you build goodwill.]
Lin An stood, picked up the handwritten notes listing everyone's problems and solutions, sorted by name and phone number, then left the conference room and headed down the hall toward Morales's office.
The lieutenant's office was at the end of the first floor. The door was ajar.
Lin An knocked twice.
"Come in."
Morales sat behind his desk, looking at his computer screen. His reading glasses rested on the bridge of his nose, and his fingers moved slowly over the keyboard.
The pothos on the windowsill still looked half-dead, with a few more yellow leaves around the edges than before.
He looked up, saw Lin An, and took off his glasses.
"Dr. Lin An, have you finished looking over the tax returns?"
"I have. Everything's taken care of."
Lin An sat down in the guest chair.
"But I came by today to ask you for a favor about something else."
Morales leaned back in his chair, folded his hands over his stomach, and went from relaxed to attentive.
"Go ahead."
Lin An took a folded piece of paper from his pocket, unfolded it, placed it on the desk, and slid it over.
It listed more than a dozen phone numbers, grouped by phone model. Beside them, key information he'd extracted was written in pencil: "G number," "Person 1," "The goods are at the old place," "Make a move," and so on.
Morales scanned the sheet, his brow furrowing slightly.
"What's this?"
"Last night, my mentor was attacked on his way home from the university, in Upper Manhattan."
Lin An's tone was calm, as if he were describing something that had happened already and had nothing to do with him.
"The attacker left a phone behind while fleeing. I deciphered the messages on it, and these are the numbers I compiled from them."
"Deciphered?"
Morales looked up from the paper and at Lin An.
"You?"
"I happen to be interested in that sort of thing, so I've studied it a little."
Lin An said it with an innocent, open expression.
"One of these numbers comes up the most. It's labeled 'G.' I want to know who's behind it."
Morales's brow twitched. A hint of pleasure crossed his face. He picked up the paper and turned toward the computer on his desk.
"Oh, right. Did your professor report the attack to the police?"
"No. Something rather unsavory happened during the attack, so he asked me to look into it for him."
Morales understood. He'd seen this kind of thing plenty of times, and it didn't surprise him.
He turned back, put on his reading glasses, and began typing.
At the police database login screen, he entered his badge number and password, then hit Enter.
A black search box popped up, labeled "NYPD Intelligence Database—Reverse Phone Number Lookup."
He slowly typed in the number marked "G" on the paper.
When he finished entering the last digit, he hit Enter.
The screen took about three seconds to load.
A record appeared.
Morales squinted at it for a moment, then pushed his reading glasses up the bridge of his nose and leaned forward.
"Sergei Kuzmin."
He read the name on the screen.
"Male, born in 1968, Ukrainian national. Entered the country in 2001 on political asylum and received a green card in 2005."
He clicked his mouse a few times and moved to the next page.
"Address in Brighton Beach. The exact street number is on the second page. Listed occupation is 'security consultant,' but there's a note in the system..."
He paused.
"It says: 'Suspected mercenary broker, associated with Eastern European organized crime groups. FBI maintains a dedicated file, but he is not on the no-fly list.'"
Morales leaned back in his chair, laced his hands behind his head, and studied the photo on the screen.
The photo showed a white man around fifty, bald, broad-faced, with a thick neck. He wore a dark turtleneck and had a stern expression, with a professionally detached look in his eyes.
"This man tells people he's Russian," Morales said.
"But the system is clear: he's Ukrainian, born in Kharkiv. A lot of Eastern European immigrants like to say they're Russian because it sounds tougher."
He looked away from the screen and turned to Lin An.
"Do you know what this means?"
"No," Lin An said.
"It means the attack on your mentor is more complicated than it seems."
Morales turned his chair toward Lin An, put his hands on the desk, and interlaced his fingers.
"Sergei Kuzmin is a security consultant on paper, but in reality he's a mercenary broker and an intelligence middleman. He's not the kind of person who randomly snatches phones off the street, and his clients aren't ordinary people."
He paused.
"The attacker who went after your mentor had Sergei's number saved in his phone, which means the attacker was working for him. But Sergei probably wasn't the one pulling the strings. He was just the middleman.
Someone pays, and he finds people to do the job."
Lin An nodded, looking thoughtful.
"So there's someone else behind it."
"Right."
Morales looked at Lin An, his gaze carrying a note of cautious concern.
"Dr. Lin An, do you need help?"
Lin An looked up and met his gaze.
"How could you help?"
Morales didn't answer right away. He leaned back, picked up the phone receiver from his desk and held it in the air. After a moment's thought, he made up his mind.
"I know a lieutenant at the 60th Precinct named De Luca. We trained together at the police academy. We went to different precincts afterward, but we've kept in touch.
"The 60th Precinct covers the Coney Island area, including Brighton Beach. That's the precinct where Sergei Kuzmin lives."
He put the receiver back on its cradle without dialing and explained first.
"I can ask him to pick up Sergei Kuzmin and bring him in for questioning, then find out who paid him to hire people."
[233. This is the beauty of having connections. The streamer doesn't even have to go catch the guy himself; the police will do the work for him.]
[Isn't that against the rules?]
[What rules? It's a perfectly reasonable favor between friends.]
"If the streamer wanted to investigate some billionaire, or the owner of a legitimate company or hospital, that could get risky. But looking into a Ukrainian guy who does dirty work? No problem at all.]
Lin An didn't answer right away. He looked at Morales, wearing just the right amount of apprehension.
"Could this get you into trouble?"
"It shouldn't be a problem. Sergei's no good, and De Luca would be within his rights to pick him up," Morales said, with the confidence an old cop had in a longtime colleague.
"The 60th Precinct covers Brighton Beach and the surrounding area, where there are a lot of Eastern European immigrants. Sergei Kuzmin's been operating right under their noses for years. De Luca knows who he is.
"If they bring him in on suspicion of involvement in organized crime, that's completely within the law."
He paused.
"Getting him to say who hired him during questioning shouldn't be hard either. He's been arrested before and knows what to say and what not to say. If they only ask him for a name, he'll cooperate."
Lin An was silent for a few seconds, then nodded slightly.
"Then... I'll leave it to you."
Morales picked up the receiver and began dialing.
The line rang three times before someone answered.
"De Luca."
"Frank."
Morales's voice relaxed, taking on the easy familiarity of old friends.
"Busy?"
"No. Just finished the morning briefing. I'm eating a doughnut. What's up?"
"I need to ask you a favor."
Morales leaned back in his chair and glanced at the paper on the desk.
"There's a Ukrainian guy named Sergei Kuzmin living in Brighton Beach, in your precinct. He tells people he's Russian. Do you know him?"
There was a moment of silence on the other end.
"Sergei?"
De Luca's voice rose slightly.
"What do you want with him?"
"A friend asked me to look into something."
Morales spoke unhurriedly.
"Have you had any recent cases involving him?"
De Luca laughed.
"Frank, you're in luck. Something just happened a few days ago... You ever heard of Osiris Pharmaceutical?"
"Never heard of them."
"A pharmaceutical company called Traplex Bio, headquartered in New Jersey. Lately, they've been doing some kind of human experiments in an abandoned industrial area in Brooklyn. They hired Sergei's men for security and to transport test subjects.
"I don't know exactly what happened, but a few days ago, our precinct and the FBI conducted a joint operation. We raided Sergei's base, arrested seven people, and seized more than thirty guns, along with a batch of medical equipment we couldn't identify."
He paused, as if taking a drink of water.
"Sergei himself wasn't there, but the evidence points to him. The FBI has already applied for a warrant for his arrest, but it's a Level Two warrant, so it's not urgent. Sergei's been spending money trying to grease some palms.
"If you want to pick him up now, I can call the patrol team. They can have him back here in ten minutes."
Morales glanced at Lin An.
"Is that a problem?"
"A problem?"
De Luca laughed again.
"Frank, you know what Sergei's most afraid of right now? He's terrified the FBI will arrest him before the NYPD does.
"If the FBI arrests him, they'll send him to federal court, where the sentences are a lot harsher than in state court. He'd much rather the NYPD make the first move so he can still try for a plea deal."
He paused.
"So tell me, what do you want me to pick him up for?"
"Suspected involvement in organized crime," Morales said.
"After you bring him in, help me ask him one question: who recently paid him to hire people to attack someone? The target was a professor at Columbia University."
The other end of the line went quiet for two seconds.
"An attack on a university professor?"
De Luca's voice grew more serious.
"When did it happen?"
"Last night, uptown Manhattan."
"Have you confirmed the victim's identity?"
"Robert Jero, a professor in Columbia University's Department of Mathematical Finance."
Morales glanced at Lin An.
"Dr. Lin An's mentor."
"Dr. Lin An?"
"The Chinese guy I mentioned before—the one who helped my guys with their tax returns."
"Oh... that genius."
There was a note of understanding in De Luca's voice.
"By the way, since this involves the privacy of some professors, this is a private investigation."
"Understood. I'll send someone right away. Sergei Kuzmin, Brighton Beach, the address is... Ha, it's a seafood restaurant. I have it in my system."
The sound of typing came through the phone.
"Found it. I'll have a patrol car head over, and once they bring him in, I'll question him myself."
"Thanks, De Luca."
"Don't thank me, Frank. You owe me a steak dinner."
"I remember."
"One more thing."
De Luca lowered his voice.
"What are you going to do with the name you get from him?"
Morales glanced at Lin An.
"Let's find out who it is first."
"All right. Wait for my call."
The call ended.
Morales put the receiver back on the phone and turned to Lin An.
"You heard?"
"I heard."
Lin An replied.
"De Luca will bring him in and find out who hired him."
Morales folded the piece of paper on the desk and slid it back to Lin An.
"Go back and wait for news."
Lin An stood up and slipped the paper into his pocket.
"Thank you, Mr. Morales."
"Just call me Morales."
The inspector waved a hand.
"I can't ignore what happened to your mentor. A Columbia University professor being attacked in New York is no small matter. It's our department's responsibility to get to the bottom of it."
He paused, the corner of his mouth lifting slightly.
"Besides, you've helped so many of us. Looking up a number and arresting someone for you is nothing."
Lin An walked to the door, then turned back.
"Morales."
"Yeah?"
"That pothos—you've been watering it too much. Water it less and put it somewhere with indirect light. It'll recover in two weeks."
Morales blinked, looked down at the half-dead pothos on the windowsill, then looked back up at Lin An.
"You can tell things about plants, too?"
"I know a little."
Lin An pushed open the door and went out.
In the hallway, several police officers who had just come on shift saw him and nodded in greeting. He walked through the lobby and pushed open the heavy front door. The March sunlight fell on his face, a little too bright.
Darnell was straddling the Roadster Bicycle, waiting by the roadside.
"Bro, you get it done?"
"All done."
"So what are we doing next?"
Lin An climbed onto the back seat and took the four feature phones out of his pocket. They'd already been cracked and exchanged back. He weighed them in his palm.
"Let's go to Columbia University. My teacher's still waiting for me... Oh, right, Darnell, I've got some good news. Want to hear it?"
"What good news?"
"I found out who was behind the attack on you. It was a pharmaceutical company from New Jersey called Traplex Bio."
"What!!!"
Before you continue