Two more people died Monday at a Texas hospital, pushing the death toll from a weekend of mass shootings to 31.

It took just 30 seconds in Ohio and zero bullets in Texas for officers to stop two mass shooters in less than 24 hours this weekend.

Officers gunned down the Ohio shooter at the doorstep of a bar-turned-hiding place in the middle of Dayton’s nightclub district and arrested the El Paso shooter as hundreds fled a crowded shopping center. Though the two attacks staggered a nation accustomed to gun violence, the bigger shock may have been that the death toll wasn’t worse.

In the Texas border city of El Paso, a gunman opened fire Saturday morning in a shopping area packed with thousands of people during the busy back-to-school season. In all, 22 people died, including two who died Monday at hospitals, and more than two dozen others were wounded.

Hours later in Dayton, Ohio, a gunman wearing body armor and carrying extra magazines opened fire in a popular nightlife area, killing nine and injuring more than two dozen people.

The attacks came less than a week after a 19-year-old gunman killed three people and injured 13 others at the popular Gilroy Garlic Festival in California before dying of a self-inflicted gunshot wound.

The El Paso shooting was being investigated as a possible hate crime as authorities worked to confirm whether a racist, anti-immigrant screed posted online shortly beforehand was written by the man arrested. The border city is home to 680,000 people, many of them Latino.

El Paso authorities offered few details about the assault, but Police Chief Greg Allen described the scene as “horrific” and said many of the 26 people who were hurt had life-threatening injuries.

In Dayton, the bloodshed was likely limited by the swift police response. Officers patrolling the area took just 30 seconds to stop the shooting, which unfolded around 1 a.m. on the streets of the downtown Oregon District, Mayor Nan Whaley said.

Video released by police shows 24-year-old Connor Betts being shot down by officers, just steps away from entering a bar filled with hiding patrons.

Had police not responded so quickly, “hundreds of people in the Oregon District could be dead today,” Whaley said.

Betts’ 22-year-old sister, Megan Betts, was among those killed in Dayton.

Authorities identified the El Paso suspect as 21-year-old Patrick Crusius from Allen, a Dallas suburb which is a nearly 10-hour drive from El Paso.

El Paso Mayor Dee Margo said he knew the shooter was not from his city.

“It’s not what we’re about,” the mayor said at a news conference with Gov. Greg Abbott and the police chief.

President Donald Trump tweeted Monday that Washington “must come together” in the wake of the shootings “to get strong background checks” for gun users. But he provided no details on what sort of legislation he would support.

The Democrat-led House has passed a gun control bill that includes fixes to the nation’s firearm background check system, but it has languished in the GOP-controlled Senate.

Trump suggested Monday that a background check bill could be paired with his long-sought effort to toughen the nation’s immigration system. He didn’t say how.

Democratic presidential candidate and former Texas congressman Beto O’Rourke, who is from El Paso and was at a candidate forum Saturday in Las Vegas, appeared shaken after receiving news of the shooting in his hometown.

He said he heard early reports that the shooter might have had a military-style weapon, saying we need to “keep that (expletive) on the battlefield. Do not bring it into our communities.”

The shootings were the 21st and 22nd mass killings of 2019 in the U.S., according to the AP/USA Today/Northeastern University mass murder database that tracks homicides where four or more people killed — not including the offender.