The film opens at a high school swim meet, where Park Ji-yeon plays Se-hee and her best friend Nam Bo-ra as Narae are among the competitors. Taeyeon, who is played by Yoon Seung-ah, finishes first with Narae in third place, and after the race Taeyeon pulls Se-hee from the crowd to join the swimmers for a posed photo. This moment feels light and normal, a snapshot of adolescence and friendship, before the story shifts forward two years.
Two years later, the mood has shifted to something darker and more tense. At the pool, Kyung-hee, a member of the swim team, dives in for a practice, but an unseen force—an ominous black smoke—drags her underwater. She struggles to break free, glimpsing a corpse-like figure in the depths before she screams in terror. The school, meanwhile, is deep in finals season. Se-hee experiences a severe nosebleed during class and is briefly prevented from leaving to tend to it, while Narae simply drifts through the test, exhausted by the pressure of academics and the looming summer program. The teachers’ attention is divided: a teaching assistant, Miss Park, and Mr. Cha, a teacher, oversee exams and the assignment of a summer course for top students.
A disruption arrives in the form of a prank: a nude figurine in bondage is found in a classroom, a crude joke that Miss Park momentarily mishandles before moving on. JK, a boy from the class, is caught up in the tension when he’s asked to read from the textbook while his classmates taunt him with the scandalous image. Amid these classroom distractions, Wonho—a fellow student—passes out milk cartons to his peers, and the day’s mood remains uneasy but mostly ordinary, until night falls and the school gates are locked.
That night, a string of disturbing events unfolds. In the dorm, Hyuna—the friend of Ji-yoon—begins to sense that something is deeply wrong after rumors of Taeyeon’s death circulate. A horrific vision hits Hyuna in the bathroom, where hair grows rapidly on her body as blood rains down from the ceiling. Elsewhere, a swimming coach is attacked and killed in the showers, and Yongran, meeting with JK in a dim corridor, is later found dead with a cruelly masked killer. The school’s power and communications rapidly falter: the gates are closed, the phones stop working, and the lights flicker.
As the tension climbs, the students awaken to a whispered threat: the incoming midnight bell will not bring safety. A chilling message appears on the blackboard, and the students realize they must uncover who is behind the killings and why, if they want to survive. The deaths continue: Yongran is found dead in a brutal manner, and JK is run down in a separate hallway, suggesting the killer’s reach is widening. Hyuna’s death appears to be tied to tainted pills—someone has swapped her medication, causing a fatal overdose in the middle of the night.
Sehee starts piecing together clues, including a riddle about a sorrowful historical figure that seems to tie back to Queen Yoon, the mother of a king who was poisoned. Just as the mystery intensifies, Mr. Cha and Sooil rush to manage a frightened classroom, while Miss Park contends with the students’ escalating paranoia. The night becomes a maze of disappearances, with Jiyoon, one of Sehee’s study group friends, finding herself targeted as the next victim.
A dangerous sequence of flashbacks reveals the group’s complicity in Taeyeon’s suffering years earlier—an event involving Sooil and Taeyeon that ended in tragedy and a cover-up that implicated several students. The moral weight of those past actions begins to emerge as the present danger closes in, and the school’s dark history comes to light. The group’s attempts to protect Jiyoon fail, and she is eventually silenced in a dramatic confrontation in the auditorium.
Amid the chaos, Sehee and her allies must confront the truth: Taeyeon did not kill herself, and the chain of guilt stretches through the students and teachers who allowed the abuse to go unpunished. As the narrative pivots between present danger and past revelations, fear gives way to a deeper reckoning about responsibility and memory.
Inside the darkroom, a wall covered with photographs triggers a countdown of deadly power. The room houses a set of negatives that reveal the truth about Taeyeon’s death and the role various students played in pressing forward a system of silence. A coded message—memento mori—emerges, reminding the survivors that they cannot forget the pain of the past or the consequences of their actions.
In the climax, the surviving students struggle to keep Jiyoon alive as the clock ticks down. A final act of vigilante justice unfolds as Jung-bum, the dangerous figure from the past, becomes the catalyst for a cataclysm that sets the school on fire and forces the students to flee. As the flames rise, Sehee faces Jung-bum near the pool, where a weight and a chain jeopardize her life. In a brutal struggle, she resists, and Jung-bum is pulled away by Kwan-woo, a student who has become a reluctant ally. The pool becomes a stage for memory and reconciliation as Taeyeon’s ghostly presence lingers in the water.
The ending shifts again to a fragile hope: Park Ji-yeon’s Se-hee is revived with CPR from Kwan-woo [Yoon Shi-yoon], and as she coughs back to consciousness she glimpses a final, haunting image of Taeyeon’s ghost by the water. The camera lingers on the floating photograph of Sehee, Narae, and Taeyeon as the screen fades to black, leaving the audience with a sense of unresolved closure and the realization that memory, guilt, and mortality linger in the wake of the events.
Throughout the story, the film threads together themes of friendship, betrayal, and the consequences of keeping quiet in the face of abuse. The characters—Se-hee, Narae, Tae-yeon, JK, Yongran, Jiyoon, Sooil, Kyung-hee, Jung-bum, and the others—each carry their own secrets, and as the mystery unfolds, their lives become entwined in a haunting meditation on what it means to confront the past and seek justice in a place where silence can be deadly.