Three young US roommates found more than 40,000 dollars (£24,000) in cash in an old sofa they bought from a thrift shop.

And they returned the money to the 91-year-old widow whose couch had been given away.

"We just pulled out envelopes and envelopes," said Cally Guasti, a social worker with Family of Woodstock who shares a flat with two friends in New Paltz, 75 miles north of New York City.

"My mouth was literally hanging open - everybody's was - it was an unfathomable amount."

She said she and her friends had bought the beat-up couch and a chair for 55 dollars (£33) at a Salvation Army thrift shop in March.

They noticed the arm cushions were weirdly lumpy. Then, one night in April, one of them, student Reese Werkhoven, of New York City, opened a zipper on one arm and found an envelope.

It contained 4,000 dollars (£2,385) in bubble-wrapped bills.

Ms Guasti, Mr Werkhoven and roommate Lara Russo opened the other arm zipper and started finding the treasure stashed inside. They counted it up: 40,800 dollars £24,330).

"We put it all on a bed," Ms Guasti said. "We laid it all out and started counting. And we were screaming. In the morning, our neighbours were like, 'We thought you won the lottery.'"

Later on, Ms Guasti found a deposit slip with a woman's name on it. Ms Werkhoven called her the next morning.

"She said, 'I have a lot of money in that couch and I really need it,'" Ms Guasti said.

They drove to the home of the woman, who turned out to be the elderly woman. She cried in gratitude when they gave her the cash she had hidden away.

The woman's family had donated the couch to the Salvation Army while she was having health problems.

Ms Guasti said the three had considered the option of keeping the money, but decided they could not do that.

"At the end of the day, it wasn't ours," she said. "I think if any of us had used it, it would have felt really wrong."