LIEGE (AFP) - It was late morning and the children were playing football in the schoolyard when they heard the bang-bang of gunshots in the street.
Outside, though they could not see it, Belgium's latest deadly attack was under way in the medieval city of Liege.
A man in black had chased two policewomen along a boulevard, stabbed them, taken their guns - which they were now using to kill the officers.
"We heard a boom. That was the gun. All the teachers said, 'Move, move!'" one boy from the school told RTBF television.
"We went over to the smaller children's section and went in through the window," he said.
Inside the Athenee Leonie de Waha school, as in the street outside, panic reigned.
"Everyone was crying. We felt sick," said one little girl on RTBF.
Running in panic
One witness told AFP he was buying a ticket at a parking metre when he first heard the gunfire.
"For me, they were firecrackers, I told myself that it must be a protest," he said.
As he returned to his vehicle, the bangs continued, sounding louder.
"I hear four, five, six shots. This time it's a little more striking. I lock my car, I look around. That's when you realise something's wrong." The rampage lasted just minutes, but terrified this French-speaking city along the Meuse river near Germany.
"People started running," said the witness, who asked not to be named. He scrambled for refuge in an office.
"At the office, they reacted well, locking the doors and shutters. We were cooped up for an hour and a half."
The manager of a cafe said the police arrived quickly, ordering people to move away from the windows and shopkeepers to close their doors.
"The neighbourhood was sealed off in less than 10 minutes," said the first witness.
"I saw nothing, only heard. But my best friend was on the bus and saw the shooter with his two guns," he said.
The knife-wielding suspect - clad in a black hoodie with white sneakers - blindsided the officers, aged 53 and 45. He lunged at them from behind with his knife.
"He then seized their service weapons and used them" against the officers, said Liege prosecutor Philippe Dulieu.
The shooter then moved on. He shot a passenger in a car parked nearby - a 22-year-old man who died on the spot.
The gunman next reached the Athenee Leonie de Waha, where he took an employee hostage.
The suspect was cornered as elite police swarmed the entrance to the school.
"There was a hostage situation. The policemen intervened, he made an exit by firing on the policemen, injuring several in the legs, and was shot," Dulieu said.
An amateur video posted on Twitter showed police fire a hail of bullets, downing the gunman as he sprinted out of the school.
The rampage was over. Three people had died, as well as the suspect. Prosecutors launched a terrorism investigation.
In mid-afternoon, the boulevard was still closed to vehicles and pedestrians. Forensic officers were taking pictures.
Rain started to cool the humid air as residents waited to return home.
"There's a shell casing right there," said a local man, who had been waiting for hours.
He said he was sorry for the victims: according to several Belgian media, both police officers were parking cops.
"Yes, the little blonde, I often saw her," said another shocked neighbour, holding her head in her hands.
At noon, only the panicked parents of pupils from the school were allowed to cross the police lines.
On the sidewalk nearby, a school employee refused to speak - "too shocked", she said.
Julie Fernandez, a local official and MP, is also the mother of a seven-year-old pupil at the school.
Having made sure her son was all right, she tried to help the other parents.
"All the kids are fine," she said.
"Those in primary and kindergarten saw nothing and were evacuated through the back door."