Two mass shootings at crowded public places in Texas and Ohio claimed at least 29 lives in less than 24 hours and left scores of people wounded, a shocking carnage even in a country accustomed to gun violence.

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. The attack killed 20 and wounded more than two dozen, many of them critically.

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 at least 26 people. The suspected shooter was shot to death by responding officers.

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 responded in less than a minute to the shooting, which unfolded around 1 a.m. on the streets of the downtown Oregon District, Mayor Nan Whaley said.

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

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 the news conference with Gov. Greg Abbott and the police chief.

Two law enforcement officials who spoke to The Associated Press on condition of anonymity identified the El Paso suspect as 21-year-old Patrick Crusius from Allen, which is a nearly 10-hour drive from El Paso.

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.

Including the two latest attacks, 125 people had been killed in the 2019 shootings.